2017-08-01 8 views
0
const a = { 
    age: 12, 
    name: 'Lucy' 
}; 

console.log(a, a.age); 

delete(a.age); 

は、誰もが、私はクロームのdevのツールでそれをconsole.logと結果は次のように現れたときにageプロパティに何が起こるか私に説明できますか?なぜChrome devtoolはオブジェクト属性とオブジェクト自体を別の方法で表示しますか?

Object {age: 12, name: "Lucy"} 12 
    name:"lucy" 
    __proto__:Object 

また別のオブジェクトとconsole.logが定義されています。

const b = { 
    age: 12, 
    name: 'lucy' 
}; 

console.log(b); 

コンソールにはすべてのプロパティが表示されますか?

Object {age: 12, name: "lucy"} 
    age:12 
    name:"lucy" 
    __proto__:Object 
+0

あなたは['delete(...)'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete)を呼び出して以来行っていたように、 _delete_のように。しかし、あなたの質問の本文はタイトルとは異なります。それはお互いに対応する必要があります。だから私はあなたが何を求めているか分からない。 'delete()'がどのように動作するのか、 'b'が' age'プロパティを持っているのか知りたいですか? – KarelG

答えて

0

console.logあなたはそのプロパティを削除する前にそのオブジェクトを処理しているからです。

Object {age: 12, name: "Lucy"}は、Chrome devtoolによって行われた簡単なオブジェクトスナップショットです。直後に何をしても、それは変わりません。

オブジェクト属性を表示するように展開すると、devtoolはオブジェクト参照にリンクし、現在の値を表示します。

+0

そうですね、それはクロムのスナップショットとオブジェクトリファレンスです。 Thxメイト – fortrustit

関連する問題