Typeof ist ein Bediener, und das Ergebnis, das es in den Operand zurückkehrt, ist eine Zeichenfolge mit 6 Typen (nur für ES, nicht Host -Umgebungsobjekte).
1.'undefined '
2.'Boolean ''
3. 'STRING'
4. 'Number'
5.'Object '
6.'Funktion '
Da es sich um einen Operator selbst handelt und keine Funktion ist, müssen bei der Verwendung keine Klammern hinzugefügt werden.
Die Codekopie lautet wie folgt:
if (typeof (obj) === 'undefined') {
// ...
}
Typof wird verwendet, um Typen zu beurteilen, und es hat mehrere Fallstricke
1. Rückgabe von Null ist 'Objekt', aber Sie können es nicht wirklich als Objekt verwenden.
Die Codekopie lautet wie folgt:
var obj = null
if (typeof obj === 'Objekt') {
OBJ.A () // Ein Fehler wird hier gemeldet
}
2. Die Rückgabe von NAN ist "Nummer", aber Sie können sie nicht verwenden, um arithmetische Operationen auszuführen.
Die Codekopie lautet wie folgt:
var obj = {}
var num = parsesint (obj.a)
if (typeof num === 'nummer') {
Num = num + 10 // Num ist nach der Ausführung immer noch Nan
}
3.. Es kann nicht zwischen Objekten, Arrays und regulären Vorgängen unterscheiden und das 'Objekt' für alle Operationen zurückgegeben.
Die Codekopie lautet wie folgt:
var obj = {}
var arr = []
var reg = /pop /g
console.log (typeof obj) // 'Objekt'
console.log (typeof arr) // 'Objekt'
console.log (typeof reg) // 'Objekt'
4. Versionen vor SAFAR5 und Chrome7 Return 'Function' an reguläre Objekte.
Schließlich wird die Erklärung in der Spezifikation veröffentlicht