亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查變量是否為空的快捷方式|| 未定義 || 空字符串|| 錯誤的

檢查變量是否為空的快捷方式|| 未定義 || 空字符串|| 錯誤的

倚天杖 2024-01-18 10:53:40
我正在尋找檢查,如果我的變量是以下之一:null || undefined || empty string || false現在它看起來又亂又長:const userHasPhoneNumber = user.phone === undefined ||                             user.phone === "" ||                             user.phone === false ||                            user.phone === null ? false : true;有捷徑嗎?
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

使用 JavaScript 的!!,女巫將變成falsefor null、""undefinedand false

const user = {

  phone_1: null,

  phone_2: "",

  phone_3: undefined,

  phone_4: false

};


console.log(!!user.phone_1);  // false

console.log(!!user.phone_2);  // false

console.log(!!user.phone_3);  // false

console.log(!!user.phone_4);  // false



查看完整回答
反對 回復 2024-01-18
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

如果您將該字符串強制為布爾值,那么它應該檢查您的所有條件,這幾乎是檢查是否為user.phone真。

這取決于您想如何使用它。如果您想在條件中使用它,即if(userHasPhoneNumber) ...您可以直接使用字符串:if(user.phone)因為它將強制轉換為布爾值。

如果您確實需要一個布爾變量,那么需要將其顯式轉換為布爾值:

要么通過 const userHasPhoneNumber = Boolean(user.phone); 要么 const userHasPhoneNumber = !!user.phone;

請注意,正如 @Bergi 評論的那樣,有更多的值被強制為假值(假值),例如NaN數字0(字符串“0”將強制為真),所以這取決于您的輸入是什么。如果它從來都不是數字,而是字符串/布爾值/ nullundefined,那么應該沒問題。以下是供參考的所有虛假值的列表:https ://developer.mozilla.org/en-US/docs/Glossary/Falsy


查看完整回答
反對 回復 2024-01-18
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

您可以快捷方式x === undefined || x === nullx == null. 對于其他人來說,沒有捷徑,因為也有一些虛假的數值。但是你可以這樣做

const userHasPhoneNumber = typeof user.phone == "number" || !!user.phone


查看完整回答
反對 回復 2024-01-18
  • 3 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號