JavaScriptには.netで言うところのIsNullOrEmpty関数がなく、たまにやると忘れるのでメモ。
結論
文字列のnull判定として以下の2パターンを良く見かけますが、どちらでも良いです。結果は変わりません。
// 判定方法① こっちの方が楽
if(!str){
// null処理
}
// 判定方法②
if(typeof str==="undefined" || str=== null || str===""){
// null処理
}
エビデンス
それぞれの判定をconsole.logで出力させてみた結果↓。
どちらも正しく判定できていました。
const nullStr = null;
const emptyStr = "";
const undefinedStr = undefined;
const validStr = "a";
// if(!str) trueならnull
console.log(!nullStr); // → true
console.log(!emptyStr); // → true
console.log(!undefinedStr); // → true
console.log(!validStr); // → false
// if(typeof str==="undefined" || str === null || str==="") trueならnull
console.log(typeof nullStr==="undefined" || nullStr === null || nullStr===""); // → true
console.log(typeof emptyStr==="undefined" || emptyStr === null || emptyStr===""); // → true
console.log(typeof undefinedStr==="undefined" || undefinedStr === null || undefinedStr===""); // → true
console.log(typeof validStr==="undefined" || validStr === null || validStr===""); // → false