Objekttyp ermitteln
TS
- javascript
0 Regina Schaukrug0 dedlfix0 TS
Hello,
ich weiß mal wieder nicht, was mit da angezeigt wird...
Ich möchte den Objekttyp eines Objektes ermitteln. Nehme ich das Objekt ganz normal in die Ausgabe, dann bekomme ich
[object HTMLInputElement]
angezeigt.
Versuche ich die Ausgabe mittels
Object.prototype.toString.apply(item)
bekomme ich die gleiche Ausgabe.
Versuche ich nun aber
if (Object.prototype.toString.apply(item) == '[object HTMLInputElement]')
dann gibt's auf die Finger mit der Meldung "ReferenceError: invalid assignment left-hand side"
Was wird mir nun also wann warum angezeigt? Und wie kann ich den Objekttyp wirklich richtig™️ abfragen?
Hier gleich einige der Standard-Gegenfragen prophilaktisch beantwortet:
Liebe Grüße
Tom S.
var output = '';
for (var property in object) {
output += property + ': ' + object[property]+'; ';
}
alert(output);
Quelle war der erste Treffer bei Google
Falls Du aber was anderes willst wäre das noch bei Google zu finden gewesen::
Object.prototype.toString.call('abc');
liefert: '[object String]'
Kann man so verwenden:
function getObjectType( obj ) {
return Object.prototype.toString.call( obj ).slice( 8, -1 );
}
alert( getObjectType( 'abc' ) );
liefert: 'String'
Tach!
Versuche ich nun aber
if (Object.prototype.toString.apply(item) == '[object HTMLInputElement]')
dann gibt's auf die Finger mit der Meldung "ReferenceError: invalid assignment left-hand side"
Den Fehler bekomme ich nur, wenn ich ein =
statt zweier verwende.
Was wird mir nun also wann warum angezeigt? Und wie kann ich den Objekttyp wirklich richtig™️ abfragen?
Wenn console.log()
das anzeigt, was du wissen möchtest, dann nimm das. Du brauchst es ja auch, um das Objekt genauer zu inspizieren. Ansonsten: Duck-Typing.
dedlfix.
Hello,
Dank an beide!
Der Fehler ist auch verschwunden. Ich weiß nur noch nicht warum. Muss erstmal die Versionen vergleichen. Vermutlich hatte sich mal wieder irgend ein unsichtbares Zeichen in den Source-Code gemogelt. Das passiert auf meinem lahmen Rechner und meinen dicken Fingern öfter mal.
Schönen sonnigen 1. Mai noch Allen, die mitlesen :-)
Liebe Grüße
Tom S.