ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript にはオブジェクトの同等性を表すハッシュコードが存在しますか?

JavaScript にはオブジェクトの同等性を表すハッシュコードが存在しますか?

Linda Hamilton
リリース: 2024-12-30 20:08:17
オリジナル
287 人が閲覧しました

Does JavaScript Have a HashCode Equivalent for Object Equality?

JavaScript でのオブジェクトの同等性の判断

JavaScript では、厳密等価演算子を使用してオブジェクトの同等性を判断しても、オブジェクトの型の同等性のみが明らかになります。これにより、オブジェクトの同等性を確認するための Java のハッシュ コード値に似たメカニズムが存在するかどうかという疑問が生じます。

JavaScript に同等の HashCode はありますか?

同様のクエリStack Overflow (「JavaScript に何らかの hashCode 関数はありますか?」) では、解決策の必要性が強調されています。次のシナリオは、その必要性をさらに示しています。

const obj1 = { name: "John Doe", age: 25 };
const obj2 = { name: "John Doe", age: 25 };

console.log(obj1 === obj2); // false (different memory references)
ログイン後にコピー

同等の解決策

幸いなことに、JavaScript は lodash ライブラリの形式で解決策を提供します。これは、isEqual() 関数を提供します。

const { isEqual } = require('lodash');

const result = isEqual(obj1, obj2); // true (objects are equal)
ログイン後にコピー

Lodash は、パフォーマンスのために ECMAScript 5 の最適化を採用して、各キーと値のペアをブルート フォースで比較します。この回答では以前は Underscore.js を推奨していましたが、Lodash はバグ修正と一貫性の点でそれを上回っていることに注意してください。

以上がJavaScript にはオブジェクトの同等性を表すハッシュコードが存在しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート