JavaScriptで変数が定義済みかどうかを判定するには、typeofを使用できます:

例

if(typeof someVar == 'undefined') {
  document.write("変数 someVar は未定義です");
} else {
  document.write("変数 someVar は定義済みです");
}

試してみる »

JavaScriptで定義済みの変数がtrueかどうかだけを判定したい場合は、以下の方法を直接使用できます:

例

if (strValue) {
    // strValue が true の場合に実行されるコード
} else {
    // strValue が false の場合に実行されるコード
}

試してみる »

以下は、正規表現を使用して変数が定義済みかつ空でないかを判定する、比較的完全な方法です:

例

if ( // 判定結果の値を返す
        (typeof x == 'undefined')
              ||
        (x == null)
              ||
        (x == false)        // !x に類似
              ||
        (x.length == 0)
              ||
        (x == 0)            // ここでは0を判定しており、わざわざ除外する必要はない
              ||
        (x == "")
              ||
        (x.replace(/\s/g,"") == "")
              ||
        (!/[^\s]/.test(x))
              ||
        (/^\s*$/.test(x))
    ) {
  document.write("変数が未定義または空です");
}

試してみる »

空値、0、falseなどを含めて判定するメソッドをカプセル化することもできます。定義済みの変数に適用できます:

例

function empty(e) {
  switch (e) {
    case "":
    case 0:
    case "0":
    case null:
    case false:
    case undefined:
      return true;
    default:
      return false;
  }
}

empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
    return ""
})) // false

試してみる »