JavaScript オブジェクトの 3 つのプロパティ

JavaScript オブジェクトの 3 つのプロパティ

オブジェクトの特性:

1. 書き込み可能: 書き込み可能

writable 、プロパティの値が設定可能かどうかを示します。

obj = {年齢:10}とします
obj.age = 1 // プロパティを再割り当て console.log(obj.age) //1

2. 列挙可能: 列挙可能

enumerable属性は、プロパティ名をfor/inループで返すことができるかどうかを示します。デフォルトでは、所有プロパティと継承プロパティの両方を列挙できます。

obj = {name:"zhang", age:20, sex:"男性"}とします

newObj = Object.create(obj) とします。
新しいオブジェクトの高さ = 200

for(p in newObj){
    console.log(p,"->", newObj[p])
}

出力:

高さ -> 200
名前 -> 張
年齢 -> 20
性別 -> 男性

3. 設定可能: 設定可能

configurable 、属性がdeleteによって削除できるかどうかを示します。

obj = {name:"jim"} とします

delete obj.name // 削除後、プロパティは存在しなくなります console.log(obj.name) //undefined

オブジェクト自身の属性の上記の 3 つのプロパティは、デフォルトで true になります。これらの特性のデフォルト値を変更する場合は、 Object.defineProperty()メソッドを使用できます。 defineProperty 、オブジェクト、変更するプロパティ名、および機能値オブジェクトの 3 つのパラメータを受け取ります。

たとえば、性別プロパティの書き込み可能プロパティを false に設定する場合は、defineProperty() メソッドを使用してこれを実行できます。

obj = {name:"zhang", age:20, sex:"男性"}とします
Object.defineProperty(obj, "性別", {書き込み可能:false})
obj.sex = "女性"
console.log(obj.sex) // 男性

writablefalseに設定した後、性別属性が女性に再割り当てされても、その値は男性のままです。同様の操作を使用して、属性の列挙可能および構成可能な特性を構成することができます。

これで、JavaScript オブジェクトの 3 つのプロパティ特性に関するこの記事は終了です。JavaScript オブジェクトのプロパティ特性に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • AngularJSループオブジェクトプロパティで動的列を実装するアイデアの詳細な説明
  • JavaScriptはオブジェクトの不要なプロパティを削除します
  • springboot post インターフェースが json を受け入れる場合、それがオブジェクトに変換されると、プロパティはすべて null になります。
  • JS でオブジェクト プロパティを簡単にトラバースするいくつかの方法
  • JavaScript でオブジェクトのプロパティを削除する方法
  • js 属性オブジェクトの hasOwnProperty メソッドの使用
  • JS hasOwnProperty() メソッドは、プロパティがオブジェクト自身のプロパティであるかどうかを検出します。
  • 例を通して JavaScript の Date オブジェクトのプロパティとメソッドを解析する
  • Java オブジェクトを JSON に変換する際のプロパティの動的な追加、削除、変更、クエリの詳細な説明
  • オブジェクトをJSONに変換する場合、Java jacksonはサブオブジェクトのプロパティ操作を無視します。

<<:  HTML で div を非表示にする テーブルを非表示にする TABLE または DIV コンテンツの CSS スタイル

>>:  デザイン: 意志の強いデザイナー

推薦する

バックエンドの権限に基づいてナビゲーション メニューを動的に生成する Vue-router のサンプル コード

目次js の1. グローバルガードを登録する2. Vuex 状態管理グローバルキャッシュルート3. ...

Python スクリプトを Ubuntu で直接実行する方法

翻訳プログラムを例に挙げてみます。前回はWindowsでのアプリケーションのパッケージ化についてお話...

Nginx の負荷分散と動的および静的分離の原理と構成

目次1. Nginxは負荷分散の原則を実装する2. Nginxの動的および静的分離の原則Nginx ...

Linux ターミナルでドメイン IP アドレスを見つけるコマンド (5 つの方法)

このチュートリアルでは、Linux ターミナルでドメイン名またはコンピューター名の IP アドレスを...

MySQL におけるさまざまな一般的な結合テーブルクエリの例の概要

この記事では、例を使用して、MySQL のさまざまな一般的な結合テーブルクエリについて説明します。ご...

MySQL で遅いファジークエリを最適化する方法

目次1. はじめに: 2. 最初のアイデアはインデックスを構築することです3. 命令P.S. Lik...

React の調整アルゴリズム Diffing アルゴリズム戦略の詳細な説明

目次アルゴリズム戦略単一ノードの差分配列ノードの差分キー値の使用要件アルゴリズム戦略React の調...

この記事は、Dockerにおけるcgroupの具体的な使用法を徹底的に理解するのに役立ちます。

目次cgroupとはcgroupの構成cgroupが提供する機能cgroup 内の CPU を制限す...

MySQL 30軍事ルールの詳細な説明

1. 基本仕様(1)InnoDBストレージエンジンを使用する必要があります。解釈:トランザクション、...

VMware 仮想マシンでの Centos8 ブリッジの静的 IP 設定方法

1. ネットワーク接続方法がブリッジされていることを確認する物理ネットワーク接続ステータスのコピーを...

HTML iframe 使用状況の概要の収集

Iframe 使用状況の詳細な分析<iframe frameborder=0 width=17...

TypeScript のユニオン型、交差型、型ガード

目次1. ユニオンタイプ2. クロスオーバータイプ3. 型保護3.1 カスタム型保護3.2 保護の種...

MySQL 8.0.18 ハッシュ結合は左/右結合をサポートしていません 左と右の結合の問題

MySQL 8.0.18 では、インデックスが作成されていないフィールドに適用でき、等価値の関連付け...

DockerToolBox ファイルマウント実装コード

docker を使用すると、ファイルをマウントできない場合があります。これは、仮想マシンの共有フォル...