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

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

推薦する

MySQLオンラインデッドロック分析練習

序文MySQL を学習する際に、MySQL のロック メカニズムについて簡単に理解したことがあると思...

Nginxの現在の制限設定の詳細な説明

この記事では、最も単純なものから最も複雑なものまで、Nginx の現在の制限構成を例を使って説明しま...

要素シャトルフレームのパフォーマンス最適化の実装

目次背景解決新しい質問高度な背景シャトル ボックスが大量のデータを処理すると、レンダリングされる D...

JavaScript フォーム検証の例

HTML フォームは、名前、電子メール アドレス、場所、年齢などのユーザー情報を収集するためによく使...

Docker での Redis の永続ストレージの詳細な説明

この章では、dockerの下にあるSpring BootプロジェクトでRedisを操作し始めます。準...

ローカルの Windows リモート デスクトップから Alibaba Cloud Ubuntu 16.04 サーバーに接続する方法

ローカル Windows リモート デスクトップが Alibaba Cloud Ubuntu 16....

Vue3 のウォッチの使用方法とベストプラクティスガイド

目次序文🌟 1. APIの紹介2. 複数のデータソースの監視3. リスニングアレイ4. 監視対象5....

docker-maven-pluginプラグインは対応するjarパッケージを取得できません

docker-maven-plugin プラグインを使用する場合、Maven は対応する jar パ...

Vue3は独自のページングコンポーネントをカプセル化します

この記事の例では、vue3 が独自のページングコンポーネントをカプセル化する具体的なコードを参考まで...

CSSは、他のレイヤーを変更せずに、多層ネスト構造の最外層を回転させる効果を実現します。

次のようなシナリオがあります。円形のコンテナで、最も外側のコンテナの背景が円弧になっています。内側の...

Ubuntu 18.04 のsources.listをAlibabaまたはTsinghuaミラーに変更する方法

1. バックアップソースリストUbuntu のデフォルトのソースは国内サーバーではないため、更新され...

DockerでRedisをデプロイして起動する方法

DockerでRedisをデプロイするまずLinuxにDockerをインストールし、次にDocker...

スライダー検証コードを実装するJavaScript

この記事では、スライダー検証コードを実装するためのJavaScriptの具体的なコードを参考までに共...

面接官がmysqlのcharとvarcharの違いを尋ねたとき

目次charとvarcharの違いcharとvarcharの違い上記は、MySQL における cha...

MySQL データ圧縮パフォーマンス比較の詳細

目次1. テスト環境1.1 ハードウェアとソフトウェア1.2 テーブル構造2. テストの目的2.1 ...