私はこれを遭遇したときに変数で遊んでいました。私はこれの理由を見つけることができませんでした。私はこれを理解したい。Java Sciptオブジェクトの宣言されていない変数へのアクセス
以下は明白である参照エラーのための例外を与える:
console.log(age);
var person = {};
console.log(person.age)
そして、興味深いことに、あなたが「人の物を確認したときに、何の年齢 'プロパティが存在しない:変数がすでに宣言されているかのようにそれは未定義の "出力します。
私たちは、直接このようにオブジェクトのプロパティを作成することができます理解:
person.age = 3;
ので、グローバルまたはローカル変数のために行うことができます。
a = 3
しかし、それでもまだ、割り当てまたは宣言する前に、何かにアクセスグローバルスコープ変数またはローカルスコープ変数の場合に起こるように、例外またはエラーをスローする必要があります。以下は
strictモードでは、 "a = 3"グローバル・デスクレレーションを防ぐことができます。 –
*しかし、割り当てまたは宣言する前に何かにアクセスすることは、グローバル・スコープ変数またはローカル・スコープ変数の場合と同様に例外またはエラーを投げるべきです。 * - まあ、 "should"は意見の問題です。また、オブジェクトに対する多くの操作では、エラーをスローしない代わりに 'undefined'を返すのが便利です。 – nnnnnn
@ VolkanSeçkinAkbayır:はい、私はそれを認識しています。私は別のものを求めている。 – pragun