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コマンドが中国語で入力できない問題の解決方法

推薦する

docker runとstartの違い

docker における実行と開始の違いDocker run はミラーイメージを指定します。そしてdo...

Windows 10 システムで nginx ファイル サーバーを構成するためのグラフィック チュートリアル

Nginx の公式 Web サイトから Windows バージョンの Nginx をダウンロードしま...

VMware vSphere 6.7 (ESXI 6.7) のグラフィック インストール手順

環境: VMware VCSA 6.7 (VMware-VCSA-all-6.7.0-8169922...

一般的なフロントエンドJavaScriptメソッドのカプセル化

目次1. 値を入力し、そのデータ型を返す** 2. アレイ重複排除3. 文字列の重複排除4. ディー...

Navicat PremiumでSQLファイルをインポートする方法

今日、最終プロジェクトに取り組み始めましたが、今年はMySQLデータベースを使用したため、Navic...

WeChat公式アカウントでReactプロジェクトを実行する方法

目次1. a タグを使用して PDF をプレビューまたはダウンロードします。書き方は、携帯電話でクリ...

CSSを使用して3Dフォトウォール効果を作成する

CSS を使用して 3D フォト ウォールを作成します。具体的なコードは次のとおりです。 <!...

EDMをHTMLで記述する際の注意点まとめ(メール送信時の一般的な注意点)

フォーマットエンコーディング1. ページの幅は600~800px、長さは1024px以内に設定してく...

jQueryで劇場の座席選択と予約の効果を実現

jQueryは劇場の座席選択と予約の効果を実現します。参考までに、具体的な内容は次のとおりです。効果...

Linux で Spring Boot プロジェクトを開始および停止するためのスクリプトの例

Springboot プロジェクトを開始するには、次の 3 つの方法があります。 1. メインメソッ...

Nginx プロセス スケジューリングの問題の詳細な説明

Nginx は、マスター プロセス (MasterProcess) と、同じ数のホスト CPU コア...

JavaScriptはブラウザがIEかどうかを判定します

フロントエンド開発者としては、IEの落とし穴は避けて通れません。他のブラウザはいいのにIEは壊れてい...

HTML でフォーム コントロールを無効にする 2 つの方法: readonly と disabled

Web ページを作成する過程では、フォームがよく使用されます。しかし、フォーム上のコントロールを変更...

25 個の CSS フレームワーク、ツール、ソフトウェア、テンプレートを共有

スプライトカウダウンロード CSS リントダウンロード プレフィックスダウンロード 1140px C...

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...