Überprüfen Sie, ob ein Wert in JavaScript ein Objekt ist
-
Verwenden Sie die Funktion
instanceof
, um in JavaScript zu überprüfen, ob ein Wert ein Objekt ist oder nicht -
Verwenden Sie die Funktion
typeof()
, um in JavaScript zu überprüfen, ob ein Wert ein Objekt ist oder nicht - Verwenden Sie benutzerdefinierte Funktionen, um in JavaScript zu überprüfen, ob ein Wert ein Objekt ist oder nicht
-
Verwenden Sie die Methode
getPrototypeOf()
, um in JavaScript zu überprüfen, ob ein Wert ein Objekt ist oder nicht
In JavaScript ist jeder definierte Wert entweder ein Objekt oder ein Primitiv. Jeder Wert, der kein Objekt ist und keine Methoden besitzt, wird als Primitiv bezeichnet. Was nicht primitiv ist, ist ein Objekt oder nicht.
In diesem Tutorial prüfen wir, ob ein Wert ein Objekt ist oder nicht.
Verwenden Sie die Funktion instanceof
, um in JavaScript zu überprüfen, ob ein Wert ein Objekt ist oder nicht
Wir überprüfen den Wert mit Hilfe der Methode instanceof
, die den Objekttyp zur Laufzeit zurückliefert.
Im folgenden Beispiel gibt die Funktion true
zurück, wenn der Wert von einem Objekttyp ist.
const test = {};
function isObject(val) {
return val instanceof Object;
}
console.log(isObject(test));
Ausgabe:
true
Diese Methode funktioniert jedoch nicht in allen Fällen. isObject(Object.prototype)
und isObject(Object.create(null))
geben False zurück.
Verwenden Sie die Funktion typeof()
, um in JavaScript zu überprüfen, ob ein Wert ein Objekt ist oder nicht
Wir können den Typ von Objekten mit der Funktion typeof()
überprüfen.
Zum Beispiel,
const test = {};
function isObject(val) {
return (typeof val === 'object');
}
console.log(isObject(test));
Ausgabe:
true
Diese Methode funktioniert auch nicht für alle Testfälle. Es gibt falsch positive Ergebnisse für die Nulltestfälle und falsch negative Ergebnisse für Funktionen zurück. Das isObject(Object)
gibt ebenfalls False zurück.
Wir können mit dieser Funktion auch eine andere Funktion definieren, die die oben genannten Einschränkungen anspricht.
Siehe den Code unten.
const test = {};
function t() {};
function isObject(val) {
if (val === null) {
return false;
}
return ((typeof val === 'function') || (typeof val === 'object'));
}
console.log(isObject(test));
console.log(isObject(t));
Ausgabe:
true
true
Die Funktion im obigen Beispiel gibt False zurück, wenn der Wert NULL ist. Wenn der Wert vom Typ Funktion
oder vom Typ Objekt
ist, gibt er true zurück. Andernfalls wird False zurückgegeben.
Verwenden Sie benutzerdefinierte Funktionen, um in JavaScript zu überprüfen, ob ein Wert ein Objekt ist oder nicht
Wir können mehr solcher Funktionen definieren, um die Arbeit basierend auf dem Konstruktor und der Klasse des Objekts zu erledigen.
Zum Beispiel,
const test = {};
function isObject(obj) {
return obj === Object(obj);
}
function isObject2(obj) {
return obj.constructor.toString().indexOf('Object') > -1;
}
console.log(isObject(test));
console.log(isObject2(test));
Ausgabe:
true
true
Im obigen Beispiel haben wir zwei Funktionen erstellt, die prüfen könnten, ob der angegebene Wert ein Objekt ist.
Verwenden Sie die Methode getPrototypeOf()
, um in JavaScript zu überprüfen, ob ein Wert ein Objekt ist oder nicht
Die Methode getPrototypeOf
löst eine Ausnahme aus, wenn ihr Argument kein Objekt ist. Wir können es verwenden, um den Typ der Klasse des angegebenen Werts zu überprüfen.
Zum Beispiel,
const test = {};
const object1 = Object.create(test);
console.log(Object.getPrototypeOf(object1) === test);
Ausgabe:
true
Verwandter Artikel - JavaScript Object
- Objekte aus einem Array in JavaScript suchen
- Holen Sie sich den Wert des Objekts durch eine Referenz auf den Schlüssel
- JavaScript-Objekt zerstören
- Objekt im Array nach Eigenschaftswert in JavaScript suchen
- Objekte in JavaScript drucken
- Sortieren Array von Objekten nach einzelnen Schlüssel mit Datum Wert