JavaScript でオブジェクトをエレガントに扱う 6 つの方法

JavaScript でオブジェクトをエレガントに扱う 6 つの方法

序文

他のプログラミング言語と同様に、JavaScript には数値、文字列、配列、オブジェクトなどの独自のデータ型があります。オブジェクトは JavaScript で非常に重要なデータ型です。オブジェクトには、日常のプロジェクト開発でオブジェクトを簡単に処理するために使用できる便利なメソッドが多数あります。

この記事では、プロジェクトで活用できる6つのメソッドを紹介します。この機会に、その使い方について理解を深めてください。

1. オブジェクト.freeze()

Object.freeze()メソッドは、オブジェクト内のデータが変更されないようにします。つまり、オブジェクトを凍結して、オブジェクトのプロパティを追加、更新、または削除できないようにします。

定数著者 = {
    名前: 「クインティオン」、
    都市:「深セン」、
    年齢: 18歳
    検証: true、
};

Object.freeze(著者);

author.name = "QuintionTang";
author.province = "広東省";
author.age を削除します。
console.log(author); // { name: 'Quintion', city: 'Shenzhen', age: 18, validation: true }

上記のコードに示すように、属性nameが更新され、属性provinceが追加され、属性ageが削除されますが、最終的なオブジェクトには変更はありません。

2. オブジェクト.seal()

Object.seal()メソッドはObject.freeze()と多少似ています。オブジェクトに新しいプロパティを追加したり、プロパティを削除したりすることはできませんが、既存のプロパティを変更したり更新したりすることはできます。

定数著者 = {
    名前: 「クインティオン」、
    都市:「深セン」、
    年齢: 18歳
    検証: true、
};

Object.seal(著者);

author.name = "QuintionTang";
author.province = "広東省";
author.age を削除します。
console.log(author); // { name: 'QuintionTang', city: 'Shenzhen', age: 18, validation: true }

上記のコードからわかるように、新しい属性の追加や属性の削除は無効であり、属性name更新のみが有効です。

3. オブジェクト.keys()

Object.keys()メソッドは、パラメータ オブジェクトのすべてのキーの名前を含む配列を返します。配列内の属性名の順序は、オブジェクトを通常どおり走査したときに返される順序と一致します。

次のコードを見てください。

定数著者 = {
    名前: 「クインティオン」、
    都市:「深セン」、
    年齢: 18歳
    検証: true、
};

console.log(Object.keys(author)); // [ 'name', 'city', 'age', 'validation' ]

上記のコードで出力された結果は、出力としてキーを含む配列であることがわかります。出力結果は、配列メソッドを使用して処理または反復処理できます。

console.log(Object.keys(author).length); // 4

4. オブジェクト.値()

Object.values()Object.keys()に似ていますが、 Object.values()オブジェクト内のすべての属性の値を取得し、値の配列を返します。

定数著者 = {
    名前: 「クインティオン」、
    都市:「深セン」、
    年齢: 18歳
    検証: true、
};

console.log(Object.values(author)); // [ 'Quintion', 'Shenzhen', 18, true ]

5. オブジェクトの作成()

Object.create()既存のオブジェクトのプロトタイプ__proto__に基づいて新しいオブジェクトを作成します。次のコードを見てみましょう。

定数著者 = {
    firstName: "クインティオン",
    姓: "Tang",
    フルネーム() {
        `${this.firstName} ${this.lastName}` を返します。
    },
};

const newAuthor = Object.create(author);
コンソールログ(新しい著者); // {}
newAuthor.firstName = "ロンブ";
newAuthor.lastName = "ジョイ";
console.log(newAuthor.fullName()); // ロンブ・ジョイ

上記のコードでは、 object. create()使用して、 authorオブジェクトのプロトタイプを持つ新しいオブジェクトnewAuthorを作成します。このように、新しいオブジェクトnewAuthor authorオブジェクトの属性値を変更するのと同じように、対応する属性値を変更できます。これは継承に少し似ていませんか? はい、クラスの継承はObject.create使用することで実現できます。

6. オブジェクト.entries()

Object.entries() を使用すると、オブジェクトのキーと値を取得でき、 [鍵, 值]のように、各次元に各キーと値が含まれる多次元配列を返します。

定数著者 = {
    firstName: "クインティオン",
    姓: "Tang",
    フルネーム() {
        `${this.firstName} ${this.lastName}` を返します。
    },
};

console.log(Object.entries(author));

出力は次のようになります。

[
  [ 'firstName', 'Quintion' ],
  [ '姓', '唐' ],
  [ 'fullName', [関数: fullName] ]
]

要約する

この記事では、オブジェクトの一般的な 6 つのメソッドを簡単に紹介し、対応するサンプル コードを示します。実際のオブジェクトのコーディングと処理のプロセスでは、上記のメソッドを使用すると、コードをよりエレガントにすることができます。

これで、JavaScript でオブジェクトをエレガントに処理する 6 つの方法についての記事は終了です。JavaScript によるオブジェクト処理に関するその他のコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript オブジェクトを作成する 3 つの方法
  • JavaScript DOM オブジェクト操作
  • JavaScript でオブジェクトをトラバースする 5 つの方法 サンプルコード

<<:  Flex モバイルレイアウトにおけるシングルラインレイアウトとダブルラインレイアウトの違いと使い方

>>:  MySQLコマンドが中国語で入力できない問題の解決方法

推薦する

HTML外部参照CSSファイルが効果を発揮しない理由の分析と解決

フロントエンドの初心者として、私は数日間フロントエンドをいじってみました。 。今日、私は自分が固く信...

MySQL DML言語操作例

追加説明、外部キー: 外部キーを使用しないでください。すべての外部キーの概念はアプリケーション層で解...

MySQL NULLがピットを引き起こした

比較演算子でNULLを使用する mysql> 1>NULLを選択します。 +------...

Vue.js ディレクティブのカスタム命令の詳細な説明

デモコマンドをカスタマイズするVue カスタム ディレクティブの構文は次のとおりです。 Vue.di...

Linux CRM デプロイメント コードの詳細な説明

Linuxの基本設定 Linux環境でpython3をコンパイルしてインストールする 1. Linu...

ES6 における Object.assign() の使い方の詳細な説明

目次2. 目的2.1 オブジェクトにプロパティを追加する2.3 オブジェクトの複製2.4 複数のオブ...

Vue の状態管理: Vuex の代わりに Pinia を使用する

目次1. ピニアとは何ですか? 2. Piniaは使いやすい3. ユーザーエクスペリエンス1. ピニ...

CentOS 8.1 で LEMP (Linux+Nginx+MySQL+PHP) 環境を構築する (チュートリアルの詳細)

目次ステップ1: CentOS 8でパッケージを更新するステップ2: CentOS 8にNginx ...

MySQLのREDOログ(リドゥログ)とロールバックログ(アンドゥログ)の詳しい説明

序文:前回の記事では、MySQL システムでよく使用されるログをいくつか説明しました。実は、トランザ...

Vueは左上と右上のスライドナビゲーションを実装します

ナビゲーションなどは日々の開発でよく使うので、記録として記事を書きます。ナビゲーションは終了/開始位...

React Hooksを使用する際のよくある落とし穴

React Hooks は React 16.8 で導入された新しい機能で、クラスを使用せずに状態や...

mysql 起動時の ERROR 2003 (HY000) の問題を解決する方法

1. 問題の説明MYSQL を起動すると、図に示すように、「ERROR 2003 (HY000): ...

js を使用して USB スキャナー データを取得する方法

この記事では、USBバーコードスキャナデータを取得するjsの具体的なプロセスを参考までに紹介します。...

gorm で MySql データベースを操作する方法

1. テーブル内のフィールドの大文字と小文字の区別を設定するgorm クエリを使用する場合、MySQ...

Docker に ElasticSearch をインストールする方法を 1 つの記事で解説

目次序文1. Dockerをインストールする2. ElasticSearchをインストールする3. ...