調査の後、この2つの違いは英語の間に大きな違いがあります
テストOS:ubuntu
テストブラウザ:Chrome
テストケース1
console.log(a)
参照エラー:aは定義されていません
テストケース2
var a
console.log(a)
エラーは報告されていませんが、出力は未定義でした
テストケース2
var b = {};
console.log(ba)
エラーは報告されていませんが、出力は未定義でした
テストケース3
関数c(){
}
var d = new C();
console.log(da)
エラーは報告されていませんが、未定義です
typeofについて
テストに使用される上記のオブジェクトはすべて、typeof(「未定義」)で返されます。
または操作||
var d = a || 3
定義されていないエラーAを報告します
var a;
var d = a ||
結果:d == 3
var c = 22 ||
c == 22
var c = false ||
c == 33
if(x){
}
エラーを報告します
var x
if(x){
}
実行されていない場合
要約:
JSには未定義には2つのタイプがありますが、リターンは文字列です(「未定義」)
定義の後ですが、オブジェクトの操作または未定義のプロパティがない場合、操作に使用できる未定義に属し、論理操作として使用できます。
2番目のタイプの変数は完全に定義されておらず、背景はありません(XA、xには属性はありませんが、x顔を与えます)。型関数が使用されない限り、エラータイプとして使用できません。
JSの操作はブール値を返さず、たとえば両側の最後の条件でJSによって計算された値を返します。 2 == 1 A ||
var a ||。
この辞書を見つけて翻訳しました
未定義は次のように翻訳できます:不明、つまり、私は何をすべきかわかりません
定義されていないことは、未定義に翻訳できます