void 運算子

void 運算子計算給定的表示式,然後返回 undefined

句法:

void expression

返回:

  • undefined

描述

void 運算子通常用於通過寫 void 0void(0) 來獲得 undefined 原始值。請注意,void 是一個操作符,而不是一個函式,因此不需要 ()

通常 void 表示式和 undefined 的結果可以互換使用。
但是,在舊版本的 ECMAScript 中,window.undefined 可以被賦值為任意值,並且仍然可以使用 undefined 作為函式內部函式引數變數的名稱,從而破壞依賴於 undefined 值的其他程式碼。
void 總會產生真正的 undefined 值。

void 0 也常用於程式碼縮小作為一種較短的寫作方式 18。此外,它可能更安全,因為其他一些程式碼可能會篡改 window.undefined

例子:

返回 undefined

function foo(){
    return void 0;
}
console.log(foo()); // undefined

在某個範圍內更改 undefined 的值:

(function(undefined){
    var str = 'foo';
    console.log(str === undefined); // true
})('foo');