深く比較するという意味ではありません。2 つの変数が同じインスタンスを参照しているかどうかを知りたいだけです。またはを使用する必要がありますa==b
かa===b
?2 つの変数が同じメモリを指すことができますが、型は異なりますか? javascript には C++ のクラスという概念がないため、オブジェクトの型がわかりません。すべてのオブジェクトは同じタイプ「オブジェクト」を持っているので、=== はそれらのタイプが等しいと判断しますか? その場合、=== は == と同じになります。
2 に答える
1
Javascript のドリップから: Javascript におけるオブジェクトの等価性:
... 文字列や数値などのプリミティブは値によって比較されますが、配列、日付、プレーン オブジェクトなどのオブジェクトは参照によって比較されます。参照によるその比較は、基本的に、指定されたオブジェクトがメモリ内の同じ場所を参照しているかどうかを確認します。これがどのように機能するかの例を次に示します。
var jangoFett = {
occupation: "Bounty Hunter",
genetics: "superb"
};
var bobaFett = {
occupation: "Bounty Hunter",
genetics: "superb"
};
var callMeJango = jangoFett;
// Outputs: false
console.log(bobaFett === jangoFett);
// Outputs: true
console.log(callMeJango === jangoFett);
于 2019-11-29T07:39:16.100 に答える
-2
見つけにくいエラー例外を回避するため、=== を使用する必要があります。時間がかかることについては、 === の方が優れています。
于 2019-11-29T07:39:08.500 に答える