null、undefined、空文字を回避する方法について混乱してしまうので備忘録として残しておきます。
null、undefined、空文字を回避する方法
null、undefined、空文字を一括で判定するには真偽値を使用します。
以下の実行結果からわかるように「null、undefined、空文字」は、いずれも真偽値で判定すると同じ値が返ってくることがわかります。
let item = '';
let item2 = undefined;
let item3 = null;
console.log("!itemは" + !item) //true
console.log("!!itemは" + !!item) //false
console.log("!!!itemは" + !!!item) //true
console.log("!item2は" + !item2) //true
console.log("!!item2は" + !!item2) //false
console.log("!!!item2は" + !!!item2) //true
console.log("!item3は" + !item3) //true
console.log("!!item3は" + !!item3) //false
console.log("!!!item3は" + !!!item3) //true
故に以下のような判定コードを記載することができます。
let item5 = "データベースからなんらかの値が返ってくる";
// item5がnull または undefined または 空文字でない場合
if(!!item5){
console.log("入力あり")
} else {
console.log("null または undefined または 空文字")
}
>入力あり
上記のサンプルでは変数item5は文字列が入っていますが、データベースから値を取ってくる場合どのような値が返ってくるかわかりません。そのため、trueの場合は !!item5 falseの場合は !!!item5と真偽値で判定すればいいと思います。
以前null、undefinedを回避する方法について書いているのでこちらも参考にしていただければと思います。