JSデータ属性やプロパティにアクセス

データアクセス属性とJSの性質:https://www.cnblogs.com/absolute-child/p/7188417.html

 

JSデータ属性やプロパティにアクセス

データアクセス属性とプロパティ:JavaScriptでは、オブジェクトのプロパティは、2つのタイプに分けます。

まず、データ属性

1.データ属性:これは、データ値がデータ値を読み取ることができる位置である含んでいます。

2.特性データは、4つの属性が含まれている、すなわち、:

設定可能:プロパティを再定義するかどうかを示すことによって、属性を削除するには、[削除、プロパティの特性を変更するため、またはプロパティがプロパティにアクセスするように変更することができる能力は、デフォルトはtrueです

 可算:用-のプロパティを通じて戻して再利用するかどうかを示します

 書き込み可能:属性値を変更するかどうかを示します

 値は:プロパティのデータ値が含まれています。デフォルトは定義されていません

デフォルトでは、name属性の特性をプリントアウトするために、対象者を作成します。次の例を

 

 

結果:

 

 

 

いくつかの特性をテストします。

 

 

テスト結果:

 

 

3. データは、デフォルトの特性の属性

プロパティには、メソッドを使用するデフォルトのプロパティを変更:Object.defineProperty()メソッドは、3つのパラメータを取ります:オブジェクトのプロパティが配置され、属性名、記述子オブジェクト。

この方法を通じて、私たちは、プロパティの4つのプロパティを変更することができます。

私たちは内部penson上記オブジェクトのname属性の特性を変更した場合:

 

 

結果:

 

結果は、personオブジェクトのname属性の4つの特徴値がそれに応じて変更されている、見ることができます。後者は、試験の限界を、この機能の代わりに構成偽を与えている間。

上記のコメントは、さまざまな属性の変更の影響の後に個別にテストされています。私たちは自分自身をダウンを実行できるという効果を試してみてください。

 

プロパティへの第二に、アクセス

1.プロパティ:このプロパティは、取得および読み出し時のメソッド、プロパティを設定し、書き込みアクセスの対を含む、データ値が含まれていないが、演算処理は、これらの2つの方法により行われます。

2.アクセスは、プロパティは、4つの特性を含みます

configurable:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或能否把属性修改为访问器属性,默认为false

 enumerable:表示能否通过for-in循环返回属性,默认为false

 Get:在读取属性时调用的函数,默认值为undefined

 Set:在写入属性时调用的函数,默认值为undefined

这里要注意下,访问器属性不能直接定义,要通过Object.defineProperty()这个方法来定义。

下面来个例子,创建一个访问器对象book,接着打印出其year访问器属性的特性描述并对其方法进行测试打印:

 

 

执行结果:

 

其他两个特性configurable,enumerable的测试方式可以参照数据属性的。不过在这特别说明下,关于configurable这个特性,因为访问器属性里面这个

特性默认值为false,如果程序后面需要对该属性进行delete操作等,那就在定义访问器属性时,将这个特性设置为true,不然这个会导致后面一些报错的问题。

おすすめ

転載: www.cnblogs.com/bydzhangxiaowei/p/11599400.html