JavaScript typeof, null y undefined


Operador typeof

Puedes usar el operador typeof para detectar el tipo de datos de una variable.

Ejemplo

typeof "John"                // devuelve string
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 »

Note

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ónValor de retornoDescripció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.

Note Usando typeof para detectar null, el resultado es object.

Puedes establecerlo a null para vaciar el objeto:

Ejemplo

var person = null;           // valor es null (vacío), pero el tipo es object

Pruébalo »

Puedes establecerlo a undefined para vaciar el objeto:

Ejemplo

var person = undefined;     // valor es undefined, tipo es undefined

Pruébalo »


undefined

En JavaScript,undefinedes una variable sin valor establecido.

typeofUna variable sin valor devuelve undefined。

Ejemplo

var person;                  // valor es undefined (vacío), tipo es undefined

Pruébalo »

Cualquier variable puede ser vaciada estableciendo su valor aundefinedpara vaciarla. El tipo esundefined.

Ejemplo

person = undefined;          // valor es undefined, tipo es undefined

Pruébalo »


Diferencia entre undefined y null

Ejemplo

Los valores de null y undefined son iguales, pero los tipos no lo son:

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true

Pruébalo »
Otras extensiones