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 スタイル

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

推薦する

Vue2.xは、ユーザーのログインと終了を実装するためにルーティングナビゲーションガードを設定します。

目次序文1. ルーティングナビゲーションガードを設定する1. グローバルナビゲーションガード2. ロ...

スケルトンスクリーン効果を実現する CSS

ネットワーク データを読み込むときは、ユーザー エクスペリエンスを向上させるために、通常は円形の読み...

Ubuntu 20.04 aptの国内ソースを変更する方法

UPD 2020.2.26 現在、Ubuntu 20.04 LTSはまだリリースされていないため、チ...

MySQL マスタースレーブの原理と構成の詳細

MySQLのマスタースレーブ構成と原理、参考までに具体的な内容は以下のとおりです。 1. 環境の選択...

MySQL 5.7 をバイナリモードでインストールし、Linux でシステムを最適化する手順

この記事では主に、MySQL バイナリ パッケージのインストール/起動/シャットダウンのプロセスを紹...

js は、州、市、地区の 3 段階の選択カスケードを実装します。

この記事では、省、市、地区の3段階選択を実現するためのjsの具体的なコードを紹介します。具体的な内容...

MySQL 8.0.18 はクローンプラグインを使用して MGR 実装を再構築します

3 ノード MGR 内の 1 つのノードに異常があり、MGR クラスターに再度追加する必要があるとし...

JavaScript DOM オブジェクト操作

目次1. コア1. Domノードを取得する2. ノードの更新2.1 実践演習3. Domノードを削除...

CentOS で MySQL 5.1 を 5.5.36 にアップグレードする

CentOS 6.4 環境で MySQL 5.1 を 5.5.36 にアップグレードする手順を記録し...

Vueカスタム指示により、ポップアップウィンドウのドラッグ4辺ストレッチと対角ストレッチ効果を実現

導入同社の最近の Vue フロントエンド プロジェクトの要件: ポップアップ ウィンドウのドラッグ、...

中国における中国語ドメイン名の人気は新たなクライマックスを迎えた

<br />外交部などの中央政府機関、各レベルの地方政府、その他の国家機関や部門が率先し...

IIS を使用して X-Forwarded-For ヘッダー (XFF) を呼び出して訪問者の実際の IP を記録する 2 つの方法

問題: IIS を通じて公開された Web サイトは F5 デバイスの背後に配置されています。透過的...

mysql 解凍パッケージの基本インストールチュートリアル

新しいコンピューターに変更したので、すべての環境を新しいコンピューター上で設定する必要があります。ふ...

VUE+Canvasは、インゴットを受け取る富の神のゲームを実装します

前回のキャンバス ゲーム シリーズへようこそ: 《VUEがFlappy Birdを実装しました〜〜〜...

MySQL の結合フィールドの Concat()

目次1. はじめに2. 本文2.1 フィールドの連結2.2 フィールドでの算術計算の実行1. はじめ...