2016-06-24 12 views
0

JavaScriptのオブジェクトに関して2つの用語が使用されています.1つはのプロパティです。その他はの属性です。これらの用語の違いは何ですか?Javascriptのオブジェクト属性とオブジェクト属性の違いは何ですか?

各データプロパティ(データを格納したオブジェクトのプロパティが)だけでなく、名前と値のペアを持っていますが、また3つの属性(3つの属性がデフォルトでtrueに設定されている):

  • 設定可能な属性:プロパティを削除または変更できるかどうかを指定します。
  • 列挙型:for/inループでプロパティを返すことができるかどうかを指定します。
  • 書き込み可能:プロパティを変更できるかどうかを指定します。

オリジナルコンテキスト:この場合http://javascriptissexy.com/javascript-objects-in-detail/

+3

あなたは私たちにあなたがそれを見ているいくつかのコンテキストを表示することができますか?私は彼らがこの場合同義語であると推測しています。 –

+3

これは正確なコンテキストに依存します。 HTML要素には属性(例: 'document.getElementById(" foo ")。attributes')がありますが、作者が古いJavaScriptオブジェクト(例えば' {foo:bar} ')を参照している場合、それらは互換性があります。 –

答えて

0

、著者は「著者の状態として、オブジェクトの属性を参照するが、(通知の属性されていないそれぞれのデータプロパティ… [has] 3属性 ")。これにより、彼はプロパティ自体が、組み込みのオブジェクトに関してどのように挙動するかを参照しています。

著者はあなたは、単にこのようにそれを割り当てることにより、プロパティを作成するときに、すべての3つの属性がデフォルトでtrueしていることが正しいです:

var obj = {}; 
obj.foo = "bar"; 

またはこのようなオブジェクトリテラル式中:

var obj = {foo:"bar"}; 

しかし、著者はObject.definePropertyメソッドを使用してこれらの属性を変更できることに言及していません。 MDNには、実際の属性の意味を示す例がいくつかあります。

1

Javascriptの属性とプロパティは何ですか?

一般に、属性とプロパティの両方が同じです。どちらも品質を技術的に示します。キーの値のペア。したがって、キーは属性/プロパティの名前であり、値は価値だけです。

違いは何ですか?

違いは意味ではありません。

なぜ2つの用語が使用されますか?

Objectのプロパティでさえ、属性と呼ばれるプロパティを持つことがあるためです。

Javascriptのオブジェクトの属性は何ですか?

オブジェクトのプロパティとは別に、Objectには3つの属性があります。 彼らはプロトタイプクラス、および拡張可能

例されている。

var SampleObject = { Name : "ObjName", id : "0"} // user created

実際のオブジェクトの構造:

  var SampleObject = {class :someValue, // Attribute 
 
        prototype : someValue, // Attribute 
 
        extensible : someValue, // Attribute 
 
        Name : "ObjName", // Property 
 
        id : "0" // Property 
 
        }

Javascriptのオブジェクトのプロパティは何ですか?

オブジェクトのすべてのキー値のペアは、オブジェクトのプロパティです。

JavaScriptのオブジェクトのすべてのプロパティの属性は何ですか?

オブジェクトのすべてのプロパティには、以下の3つの属性があります。 設定可能,列挙型および書き込み可能、値はブール値です。

//Ex : 
 
var SampleObject = { key1 :{ p1 : "v1"}} // user created 
 

 
//Actual Structure : 
 

 
var SampleObject = { class :someValue, // Attribute 
 
        prototype : someValue, // Attribute 
 
        extensible : someValue, // Attribute 
 
        key1 : { Configurable : true, // attribute 
 
           Enumerable : true, // attribute 
 
           Writable  : true // attribute 
 
           p1   : "v1" //property 
 
           }  // proeperty    
 
        }

関連する問題