0

flagが未定義の変数であるとします。スクリプトをブラウザー内でローカルに実行する場合、次のような IF ステートメントを実行できます。

if(flag){
  //do stuff
}

これはブラウザで正常に動作します。ただし、nodejs では、flag未定義であるというエラーがスローされます。nodejsでは未定義はfalseyと見なされませんか?

4

2 に答える 2

1

実際、ブラウザでそれを行うのは「問題ありません」。Chrome と Firefox は、コンソールに同じエラーをスローします。

JavaScript には、2 種類の undefined があります。

  • undefinedこれを行うときの値:
    var flag;
  • 未定義の変数:
    if (flag) { ... }

1 つ目は誤った値で、2 つ目はエラーです (もちろん、宣言したことがないと仮定します)。

于 2013-10-20T15:59:23.067 に答える