No, thank you.

おおよそ備忘録

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;
}

 

  1. !val 判定
    → null / undefined / 空文字('')、そして 0 / false が該当する
  2. 今回は 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年後にやりました!