JavaScript typeof, null y undefined
Operador typeof
Puedes usar el operador typeof para detectar el tipo de datos de una variable.
Ejemplo
typeof 3.14 // devuelve number
typeof false // devuelve boolean
typeof [1,2,3,4] // devuelve object
typeof {name:'John', age:34} // devuelve object
Pruébalo »
![]() |
En JavaScript, los arrays son un tipo especial de objeto. Por lo tanto, typeof [1,2,3,4] devuelve object. Método correcto para detectar arrays: Array.isArray([1,2,3]); // true [1,2,3] instanceof Array; // true |
|---|
typeofEs un operador en JavaScript que se utiliza para devolver el tipo de datos de una variable dada.
Tabla completa de detección de tipos:
| Expresión | Valor de retorno | Descripción |
|---|---|---|
typeof undefined | "undefined" | Valor indefinido |
typeof true | "boolean" | Valor booleano |
typeof 42 | "number" | Todos los tipos numéricos |
typeof "text" | "string" | string |
typeof {a:1} | "object" | Objeto, array, null |
typeof function(){} | "function" | Función |
typeof Symbol() | "symbol" | Tipo símbolo agregado en ES6 |
typeof BigInt(10) | "bigint" | Tipo BigInt agregado en ES2020 |
Detectar variables indefinidas:
if (typeof variable === "undefined") {...}
Comprobar si una función existe:
if (typeof myFunction === "function") {...}Ten en cuenta los casos especiales de arrays y null:
// 正确检测数组
if (Array.isArray(myVar)) {...}
// 正确检测null
if (myVar === null) {...}
null
En JavaScript, null significa "nada".
null es un tipo especial que tiene un solo valor. Representa una referencia a un objeto vacío.
![]() |
Usando typeof para detectar null, el resultado es object. |
|---|
Puedes establecerlo a null para vaciar el objeto:
Puedes establecerlo a undefined para vaciar el objeto:
undefined
En JavaScript,undefinedes una variable sin valor establecido.
typeofUna variable sin valor devuelve undefined。
Cualquier variable puede ser vaciada estableciendo su valor aundefinedpara vaciarla. El tipo esundefined.
Diferencia entre undefined y null
Ejemplo
Los valores de null y undefined son iguales, pero los tipos no lo son:
typeof null // object
null === undefined // false
null == undefined // true
Pruébalo »
