検索
ホームページウェブフロントエンドフロントエンドQ&AJavaScript オブジェクトの新しいメソッドとは何ですか?

JavaScript オブジェクトの新しいメソッド: 1. 2 つの値が厳密に等しいかどうかを比較するために使用できる「Object.is()」; 2. 2 つの値が厳密に等しいかどうかを比較するために使用できる「Object.assign()」オブジェクトをマージするために使用されます。ソース オブジェクトのすべての列挙可能なプロパティがターゲット オブジェクトにコピーされます。

JavaScript オブジェクトの新しいメソッドとは何ですか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

#JavaScript オブジェクトの新しいメソッド

1. Object.is()

es6 では、2 つの値が厳密に等しいかどうかを比較するために、等価演算子 '=='、厳密等価演算子 '==='、または Object.is() メソッドを使用する 3 つのメソッドがありますが、最初の2 つのメソッド すべてに欠陥があり、一部の特殊なシナリオでは使用できませんが、Object.is() は使用できません。

Object.is() は基本的に '===' 演算子

と同じように動作しますが、 2 つの点が異なります:

# (1) 0 は -0 に等しくありません

# (2) NaN はそれ自体に等しい

2. Object.assign()

(1) Object.assign() はオブジェクトをマージし、ソースのすべての列挙可能なプロパティをコピーするために使用されます。オブジェクトからターゲット オブジェクトへ

# (2) Object.assign() メソッドの最初のパラメータはターゲット オブジェクトであり、次のパラメータは次のとおりです。パラメータはソース オブジェクトです。

ターゲット オブジェクトとソース オブジェクトに同じ名前の属性がある場合、または複数のソース オブジェクトに同じ名前の属性がある場合、後の属性で前の属性が上書きされます。

b: 2 in 2 が b: 1 in 1 をカバーし、c: 3 in 3 が c を 2 でカバーしていることがわかります。 : 2

(3) パラメータが 1 つだけの場合、Object.assign() はパラメータ

# を直接返します。 ##(4) パラメータがオブジェクトでない場合は、オブジェクトに変換されてから返されます。

Object.assign() が値 5 を Number オブジェクトに変換し、

(5) 未定義および null を変換できないことがわかります。オブジェクト、それらをパラメータとして使用すると、エラーが報告されます

#オブジェクト以外のパラメータがソース オブジェクトの位置に表示される場合 (つまり、最初のパラメータではない)、処理ルールは異なります。これらのパラメータはオブジェクトに変換されますが、オブジェクトに変換できない場合はスキップされます。これは、未定義および null が最初のパラメータでない場合、エラーを報告しないことを意味します。デモは次のとおりです。

その他の型値 (つまり、数値、文字列、およびブール値) が最初のパラメーター (つまり、最初のパラメーター) に含まれていないため、エラーは報告されません。ただし、文字列が配列の形式でターゲット オブジェクトにコピーされることを除いて、他の値は効果がありません。

上記のコードでは、v1 v2 v3 はそれぞれ文字列、ブール値、数値です。文字列のみがターゲット オブジェクト ((文字配列として) に結合されます。数値とブール値は無視されます。これは、文字列ラッパー オブジェクトのみが列挙可能なプロパティを生成するためです。

(6) ブール値、数値、文字列をそれぞれ対応するパッケージング オブジェクトに変換します。元の値はすべてパッケージング オブジェクトの内部属性にあることがわかります。[[PrimitiveValue]] 上記では、このプロパティは Object.assign() によってコピーされません。文字列ラッパー オブジェクトのみが列挙可能なリテラル プロパティを生成し、それらのプロパティはコピーされます。

#Object.assign() によってコピーされる属性は制限されており、ソース オブジェクトのみがコピーされます。独自のプロパティ (継承されたプロパティはコピーされません)、および列挙不可能なプロパティ (列挙可能: false) はコピーされません。

[関連する推奨事項:

JavaScript 学習チュートリアル

]

以上がJavaScript オブジェクトの新しいメソッドとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Reactの強力なコミュニティとエコシステムの利点Reactの強力なコミュニティとエコシステムの利点Apr 29, 2025 am 12:46 AM

反応の反応は、反応すること:1)即時カクセスソリューションスループラットフループラットフルフルフローアンドGithub;

モバイル開発のためのネイティブの反応:クロスプラットフォームアプリの構築モバイル開発のためのネイティブの反応:クロスプラットフォームアプリの構築Apr 29, 2025 am 12:43 AM

ReactNativeIsCosenformedeveledementBecauseDevelowSowRiteCodeOdeCodeOdeCodeandedDeployitOnMultPlatforms、ReducingDevelopmentTimeandCosts.ItOfferSnear-NativePerformance、Athrive-community、AndleverageSexistingwebdevelyments.keytomatherinere

ReactのuseState()で状態を正しく更新しますReactのuseState()で状態を正しく更新しますApr 29, 2025 am 12:42 AM

ReactのuseState()状態の正しい更新には、州の管理の詳細を理解する必要があります。 1)機能的な更新を使用して、非同期更新を処理します。 2)状態を直接変更しないように、新しい状態オブジェクトまたは配列を作成します。 3)単一の状態オブジェクトを使用して、複雑なフォームを管理します。 4)アンチシェイクテクノロジーを使用して、パフォーマンスを最適化します。これらの方法は、開発者が一般的な問題を回避し、より堅牢なReactアプリケーションを作成するのに役立ちます。

Reactのコンポーネントベースのアーキテクチャ:スケーラブルなUI開発の鍵Reactのコンポーネントベースのアーキテクチャ:スケーラブルなUI開発の鍵Apr 29, 2025 am 12:33 AM

Reactのコンポーネントアーキテクチャにより、モジュール性、再利用性、保守性を通じて、スケーラブルなUI開発を効率的にします。 1)モジュール性により、UIを独立して開発およびテストできるコンポーネントに分解できます。 2)コンポーネントの再利用性は時間を節約し、さまざまなプロジェクトの一貫性を維持します。 3)メンテナビリティにより問題のあるポジショニングと更新が容易になりますが、コンポーネントを過剰な普及と深いネスティングを回避する必要があります。

Reactによる宣言プログラミング:UIロジックの簡素化Reactによる宣言プログラミング:UIロジックの簡素化Apr 29, 2025 am 12:06 AM

Reactでは、宣言的なプログラミングは、UIの望ましい状態を記述することにより、UIロジックを簡素化します。 1)UIステータスを定義することにより、ReactはDOMの更新を自動的に処理します。 2)この方法により、コードのメンテナンスがより明確かつ容易になります。 3)しかし、国家管理の複雑さと最適化された再レンダリングに注意を払う必要があります。

Reactのエコシステムのサイズ:複雑な風景をナビゲートしますReactのエコシステムのサイズ:複雑な風景をナビゲートしますApr 28, 2025 am 12:21 AM

tonavigatereAct'somplexEcosystemively、理解を理解し、認識していることを認識していることを認識しているandweakness、およびIntegreatemtoemtoemtoemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemtemotereconceptate、その後、勾配内で測定する

どのようにReactがキーを使用してリスト項目を効率的に識別しますどのようにReactがキーを使用してリスト項目を効率的に識別しますApr 28, 2025 am 12:20 AM

RactuseSeSeSeSeSeSeSeSpiffictifideidifiedItemsbyprovidingastableidentitytoeeedelement.1)keysallowReactTotTotTotTotTotTotTotTotTotTotTotTotTotTotTotRACKESOUTRE-RENDERINGTHEENTERELIST.2)chookiniqueandstablekeys、avolididingArrayIndi​​ces.3)reforceAsificlySificlySiflovedobrovesiondanc

Reactにおける重要な問題のデバッグ:問題の特定と解決Reactにおける重要な問題のデバッグ:問題の特定と解決Apr 28, 2025 am 12:17 AM

KeysinReactarecrucialforoptimizingTherenderingProcessandDynamicListseffective.tospotandfixkey-relatedissues:1)adduniquekeystolistiTemstoavoidsissusisus、2)useuniqueidideididifiersfromdateadceSofofordiceys、3)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン