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

推薦する

Linux Centos7 に mysql8 をインストールするチュートリアル

1. RPMバージョンのインストールデータベースの他のバージョンがあるかどうかを確認し、ある場合は完...

JSはスネークゲームを実装する

目次1. 初期化構造2. 蛇の色のレンダリング3. ヘビの動き4. ヘビの死を判定する方法 ヘビの死...

Dockerコンテナデータボリュームの原理と使用法の分析

コンテナデータボリュームとはデータがコンテナ内にある場合、コンテナを削除するとデータは失われます。例...

Redhat 8.0 システムのインストール方法に関するグラフィック チュートリアル (初心者には必須)

目次1. はじめに2. インストール01. 新しい仮想マシンを作成する02. システムをインストール...

Zabbixについて管理者ログインパスワードを忘れた場合、パスワードをリセットする

Zabbix 管理者ログイン パスワードのリセットに関する問題は次のとおりです。 1. 問題の説明:...

MySql でリモート接続を許可する方法

MySql でリモート接続を許可する方法この目標を達成するには、2つのことを行う必要がある。ユーザー...

nginxカスタム変数と組み込み定義済み変数の使用

概要Nginx では変数を使用して設定を簡素化し、設定の柔軟性を向上させることができます。すべての変...

HTML フォームタグチュートリアル (2):

このチュートリアルでは、ウェブデザインにおけるFORMフォームタグのさまざまな属性の応用を紹介します...

MySQL slow_log テーブルを InnoDB エンジンに変更することはできません。詳細な説明

背景mysql.slow_log からスロー クエリ ログを取得するのは遅く、テーブルは csv テ...

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

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

Vue で debouce の手ぶれ補正機能を使用する方法

目次1. 手ぶれ補正機能2. Vueでdebouceの手ぶれ補正機能を使用する1. 手ぶれ補正機能2...

MySQLトリガーの使用例の詳細

MySQL トリガー構文の詳細: トリガーは、特定のテーブル内のデータが挿入、削除、または更新される...

キャッシュサーバーを構築するためのMemcached方式

序文多くの Web アプリケーションは、リレーショナル データベース管理システム (RDBMS) に...

GDBデバッグMySQL実戦ソースコードコンパイルとインストール

ソースコードをダウンロード git クローン https://github.com/mysql/my...

MySQL 8.0.15 バージョンのインストールチュートリアル Navicat.list への接続

落とし穴1. ネット上の多くのチュートリアルでは環境変数を設定するファイル名はmy.iniと書いてあ...