2016-07-29 129 views
1

打字稿transpiles certain code到这一点:JavaScript:“void 0”是什么意思?

Animal.prototype.move = function (distanceInMeters) { 
    if (distanceInMeters === void 0) { distanceInMeters = 0; } 
    ... 

什么void 0?这与用于链接void(0)的技巧相同吗?为什么不使用undefined

+2

如果有人重新定义“未定义”,它只是用来不受影响。 – Sirko

+0

我想知道如果在另外两个问题之前询问它可能会重复吗? –

回答

3

void运算符总是评估为未定义的值。

可以覆盖undefined变量,该变量默认保持未定义的值。

2

void操作符计算给定的表达式,然后返回undefined。

void操作符通常仅用于获取未定义的原始值,通常使用“void(0)”(相当于“void 0”)。在这些情况下,可以使用全局变量undefined(假设它尚未分配给非默认值)。