typescript - JavaScript:“void 0”是什么意思?
TypeScript 将某些代码转换为如下内容:
Animal.prototype.move = function (distanceInMeters) {
if (distanceInMeters === void 0) { distanceInMeters = 0; }
...
什么是 void 0?那和在链接中使用的 void(0) 是同样的技巧吗?为什么不直接使用 undefined 呢?
答案#1
void 运算符总是返回 undefined 值。
undefined 变量,默认情况下保存未定义的值,可以被覆盖。
答案#2
void 运算符会先计算给定的表达式,然后返回 undefined。
void 操作符通常仅用于获取未定义的原始值,通常使用“void(0)”(这等同于“void 0”)。在这些情况下,可以使用全局变量 undefined(假设它没有被赋值为非默认值)来代替。