es6 では、Object オブジェクトの is() メソッドを使用して、2 つのオブジェクトが等しいかどうかを判断できます。このメソッドは、2 つの変数の値が同じ値であるかどうかを検出し、参照アドレスが同じであるかどうかを判断します。構文 "Object.is(Object 1, Object 2)"; このメソッドはブール値を返します。true が返された場合、2 つのオブジェクトが等しいことを意味します。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
2 つの Object タイプのオブジェクトは、同じ属性と値を持っている場合でも、== または === を使用して比較すると同等とみなされません。これは、値によって比較されるプリミティブ型とは異なり、参照 (メモリ内の場所) によって比較されるためです。
var obj1 = { name: "xiaoming", sex : "male" } var obj2 = { name: "xiaoming", sex : "male" } console.log(obj1 === obj2); // false
ただし、ES6 には 2 つのオブジェクトが等しいかどうかを判断するメソッドが用意されています。このメソッドは、2 つのオブジェクトの参照アドレスが一致しているかどうかを判断します。
Object.is(a,b)
Object.is() メソッドは、 2 つの値が等しい、同じ値です。次の条件が満たされる場合、2 つの値は等しいです:
# は両方とも未定義です
は null
はすべて true または falseです。
すべてが同じ長さの文字列であり、同じ文字が同じ順序で配置されています
すべて同じオブジェクトです (各オブジェクトが同じ参照を持つことを意味します)
-
は数値、
# は 0
-
はすべて -0
はすべて NaN
であるか、または両方とも非ゼロおよび非 NaN であり、
戻り値: 2 つのパラメータが同じ値であるかどうかを示すブール型。
例 1:
let obj1= { a: 1 } let obj2 = { a: 1 } console.log(Object.is(obj1, obj2)) // false let obj3 = obj1 console.log(Object.is(obj1, obj3)) // true console.log(Object.is(obj2, obj3)) // fals
例 2:
Object.is('foo', 'foo') //true Object.is(window, window) //true Object.is([], []) //false Object.is(null, null) //true
拡張知識:
Object.is() メソッドは == (en-US) 操作とは異なります。 == 演算子は、等しいかどうかを判断する前に (同じ型でない場合に) 変数を両側にキャストします (この動作の結果は、 "" == false を true と判断します) が、Object.is は変数をキャストしません。両面の値です。
Object.is() メソッドは、=== (en-US) 操作とも異なります。 === 演算子 (== 演算子も含まれます) は、数値 -0 と 0 を等しいものとして扱い、Number.NaN と NaN を不等なものとして扱います。
[関連する推奨事項: javascript ビデオ チュートリアル 、ウェブ フロントエンド]
以上がes6 で 2 つのオブジェクトが等しいかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

usestate()isareacthookusedtomeStateinfunctionalComponents.1)itInitializeSandUpDatestate、2)colledatttheToplevelofComponents、3)canleadto'stalestate'ifnotusedly、and4)cancancancancancanbeoptimizeduptimizeduptimizedususecall -calleSuperesteSteSteSteSteSteSteSteSteStateSupteStateSuptateSuptatedates

ReactisPopularduetoitsComponent Architecture、Virtualdom、Richecosystem、およびdeclarativenature.1)コンポーネントベースのarchitectureallowsforReusable anduipieces、改善様式および測定可能性。

debugReactapplicationivivivity、EtheseStrategies:1)AddressPropdrillingWithContextapiorredux.2)HandLeasynchronousoperations withuthutateanduseeffect、Abortcontrollertopreventraceconditions.3)最適化合物を使用して、最適化合物を使用してください

UseState()inReactallowsstateManagementInFunctionalComponents.1)itsimplifiesstateManagement、makeCodemoreconcise.2)usetheprevcountFunctionToupDateStateBasedTateBasedTateBadeStateValue、AvolidingStalestateSues.3)

ChooseuseState()forsimple,independentstatevariables;useuseReducer()forcomplexstatelogicorwhenstatedependsonpreviousstate.1)useState()isidealforsimpleupdatesliketogglingabooleanorupdatingacounter.2)useReducer()isbetterformanagingmultiplesub-valuesorac

UseStateは、州の管理を簡素化し、コードをより明確にし、読みやすくし、Reactの宣言的な性質と一致するため、クラスコンポーネントやその他の州管理ソリューションよりも優れています。 1)UseStateを使用すると、状態変数を関数コンポーネントに直接宣言することができます。2)フックメカニズムの再レンダリング中に状態を覚えています。

useUsestate()forlocalcomponentStatemanagement; compleartinative forglogic、orperformanceissues.1)useidealforsimple、localstate.2)useglobalStateSolutionSolutionSuxorContextForSharedState.3)OptForreDuxtormobxobxobxobforexSt

再利用することは、codecodemaintainabilityを抑制することを再生します


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック









