TypeOf es un operador, y el resultado que regresa al operando es una cadena, con 6 tipos (solo para ES, no objetos de entorno de host).
1. 'Onfinado'
2. 'Boolean'
3. 'string'
4. 'Number'
5.'Object '
6. 'Funciones'
Debido a que es un operador en sí y no es una función, no hay necesidad de agregar soportes al usarlo.
La copia del código es la siguiente:
if (typeof (obj) === 'indefinido') {
// ...
}
El tipo de tipo de juzga se utiliza para juzgar los tipos, y tiene varias dificultades
1. Regresar nulo es 'objeto', pero realmente no puede usarlo como objeto.
La copia del código es la siguiente:
var obj = nulo
if (typeof obj === 'objeto') {
obj.a () // se informa un error aquí
}
2. Regresar nan es 'número', pero no puede usarlo para realizar operaciones aritméticas.
La copia del código es la siguiente:
var obj = {}
var num = parseint (obj.a)
if (typeof num === 'Number') {
num = num + 10 // num todavía es nan después de la ejecución
}
3. No puede distinguir entre objetos, matrices y operaciones regulares, y devuelve 'objeto' para todas las operaciones.
La copia del código es la siguiente:
var obj = {}
var arr = []
var reg = /pop /g
console.log (typeof obj) // 'objeto'
console.log (typeof arr) // 'objeto'
console.log (typeof reg) // 'objeto'
4. Versiones antes de la función de Safar5 y Chrome7 de retorno a objetos regulares.
Finalmente, se publica la explicación en la especificación