JavaScriptで null / undefined / 空文字('') を判定する
投稿日時:2014/08/02 23:35
更新日時:2016/09/25 19:40
概要
引数が空の場合に、true を戻すJavaScript関数です。
ここでいう〈空〉とは、以下のような値を指します。
- null
- undefined
- 空文字「''」
コードと解説
function isEmpty(val) {
if (!val) { // 1.
if (!((val === 0) || (val === false))) { // 2.
return true;
}
}
return false;
}
- !val 判定
→ null / undefined / 空文字('')、そして 0 / false が該当する - 今回は 0(int) または false(boolean) の場合は空扱いしたくないため、それらに該当しない場合に true を戻す
※ 「val == 0」ではなく、「val === 0」とすること
実用的に短くすると、こうなります。
function isEmpty(val){return !val?!(val===0||val===false)?true:false:false;}
用途
汎用的な関数なので、様々な用途が考えられます。
ワタシは「実体はともかく、空文字はアウト!」というときに使っています。
一例として……
パラメータの値が空ではエラーになってしまう時、
この関数の戻り値が false の場合のみ続行することで、エラーを回避します。
if (!isEmpty(id)) {
document.getElementById(id).style.display === "none";
}
MY TODO:コードの色分けをしてくれるjsを導入せねば……
2年後にやりました!