void 運(yùn)算符在 javascript 中用于將表達(dá)式的值計(jì)算為 undefined,其用法包括:抑制函數(shù)返回值、阻止意外行為、檢查表達(dá)式是否為 “truthy”、創(chuàng)建隱式轉(zhuǎn)換,優(yōu)先級(jí)較低,不建議一般使用。
JavaScript: void 難題:全面指南
什么是 void?
void
是 JavaScript 中的一個(gè)運(yùn)算符,用于計(jì)算表達(dá)式的值為 undefined
。與其他運(yùn)算符不同,void
不影響表達(dá)式的執(zhí)行。
用法
void
運(yùn)算符只能用于一個(gè)操作數(shù)。其語(yǔ)法如下:
void expression;
登錄后復(fù)制
其中 expression
是要計(jì)算為 undefined
的表達(dá)式。
實(shí)戰(zhàn)案例
以下是一些 void
運(yùn)算符的實(shí)戰(zhàn)案例:
抑制函數(shù)調(diào)用的返回值:
void myFunction(); // myFunction 返回一個(gè)值,但不會(huì)使用它
登錄后復(fù)制阻止意外行為:
let x = void (y ?? 0); // 如果 y 為 null 或 undefined,則 x 將為 undefined,否則為 y
登錄后復(fù)制檢查表達(dá)式是否為 “truthy”:
if (!void expression) { // 如果 expression 為 truthy,則不會(huì)執(zhí)行此代碼塊 }
登錄后復(fù)制創(chuàng)建隱式轉(zhuǎn)換:
const number = new Number(42); // 創(chuàng)建一個(gè) Number 對(duì)象 const primitive = void number; // 獲取原始值 42
登錄后復(fù)制
注意點(diǎn)
void
運(yùn)算符不會(huì)拋出異常,即使操作數(shù)是一個(gè)無(wú)效的表達(dá)式。void
運(yùn)算符的優(yōu)先級(jí)比大多數(shù)其他運(yùn)算符都要低。void
主要用于特殊情況,一般情況下不建議使用。
其他示例
const result = void (prompt("Please enter your name:") || "Unknown"); // 獲取用戶(hù)輸入,或使用 "Unknown" 作為默認(rèn)值
登錄后復(fù)制
let value; if (void value) { // 當(dāng) value 為 undefined 或 null 時(shí),執(zhí)行此代碼塊 }
登錄后復(fù)制