Sie sind hier 289
Typen, Gleichheit, Umwandlung und der ganze Rest
Testen, ob zwei Objekte gleich sind
Ihre erste Frage ist vermutlich: Reden wir von == oder ===? Die gute Nachricht:
Beim Vergleich von zwei Objekten spielt das keine Rolle! Sind beide Operanden Objekte,
können Sie sowohl == als auch === benutzen, weil beide auf die gleiche Weise
funktionieren. Wenn Sie zwei Objekte auf Gleichheit testen, passiert Folgendes:
Beim Test auf Gleichheit zweier Objektvariablen
vergleichen wir die Referenzen auf diese Objekte.
Diese Referenz …
… ist NICHT
gleich mit dieser
Referenz. Es sind
zwei verschiedene
Referenzen.
Zwei Referenzen sind nur gleich, wenn Sie auf
das gleiche Objekt verweisen
Der Test auf Gleichheit zwischen zwei Objektvariablen
ergibt nur dann true, wenn beide auf das gleiche Objekt
verweisen.
Bedenken Sie, dass die Variablen Referenzen auf die Objekte
enthalten. Beim Test zweier Objekte werden also tatsächlich die
Referenzen verglichen.
if (var1 === var2) {
// Wow, diese Objekte sind gleich!
}
var2
var1
if (var1 === var3) {
// Wow, diese Objekte sind gleich!!
}
Diese Referenz …
… ist gleich dieser Referenz. Sie sind
ein und dasselbe Objekt!
var3
var2
var1
Hier nicht!
Diese beiden Objekt-
referenzen sind
tatsächlich gleich.
Es spielt keine Rolle, was die
Objekte enthalten. Wenn die
Referenzen nicht gleich sind,
sind es die Objekte auch nicht.
290 Kapitel 7
Übung zur Gleichheit
Das ist Earl
von Earl’s
Autos.
function findCarInLot(car) {
for (var i = 0; i < lot.length; i++) {
if (car === lot[i]) {
return i;
}
}
return -1;
}
var chevy = {
make: "Chevy",
model: "Bel Air"
};
var taxi = {
make: "Webville Motors",
model: "Taxi"
};
var fiat1 = {
make: "Fiat",
model: "500"
};
var fiat2 = {
make: "Fiat",
model: "500"
};
var lot = [chevy, taxi, fiat1, fiat2];
var loc1 = findCarInLot(fiat2);
var loc2 = findCarInLot(taxi);
var loc3 = findCarInLot(chevy);
var loc4 = findCarInLot(fiat1);
Hier ist etwas Code, der dabei hilft, das richtige Auto auf Earls Parkplatz zu
finden. Gehen Sie den Code durch und schreiben Sie die Werte von loc1 bis
loc4 auf die Leerzeilen unten auf dieser Seite.
Hier kommen Ihre
Antworten hin.
Spitzen Sie Ihren Bleistift

Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.