工作中我們經(jīng)常需要判斷某個變量/屬性是否為undefined。通常有兩種寫法
復(fù)制代碼 代碼如下:
// 方式1
typeof age === 'undefined';
// 方式2
age === undefined
復(fù)制代碼 代碼如下:
typeof age === 'undefined'; // true
再看另一個例子
復(fù)制代碼 代碼如下:
age === undefined; // 報錯
這就是兩者的區(qū)別, 即不確定age是否聲明或定義時用方式1,確定的則可以用方式2。使用方式1如果變量沒有聲明,代碼也不會報錯,但方式2會報錯。看似方式1容錯性更好,實際會是潛伏了的Bug。變量先聲明再使用永遠是個好習(xí)慣。
此外,方式1是兩次運算,方式2是一次。
新聞熱點
疑難解答
圖片精選