我碰到這個片段在kriskowal/q傳來:爲什麼使用void關鍵字?
/**
* Applies the promised function in a future turn.
* @param object promise or immediate reference for target function
* @param args array of application arguments
*/
Q.fapply = fapply;
function fapply(value, args) {
return dispatch(value, "apply", [void 0, args]);
}
什麼是使用void關鍵字的意義呢?爲什麼不寫[undefined, args]
?
之一因爲可以重新定義全局'undefined';它不是一個保留字,像'null'。 – raina77ow 2013-03-05 18:42:53
..可以重新定義,但是從JavaScript 1.8.5開始,根據ECMAScript 5規範,undefined是不可寫的。 – epascarello 2013-03-05 18:45:16
'void 0'比'undefined'少3個字符。 – 2013-03-05 19:11:07