我碰到这个片段在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