undefined
En JavaScript existen 7 tipos built-in, a saber:
null
undefined
boolean
number
string
object
symbol
Ahora mismo nos centraremos en undefined.
Comencemos por comentar una mala idea xD... Desafortunadamente, a diferencia del tipo null por ejemplo, undefined resulta ser un identificador. ¿Qué quiere decir esto?, pues que podemos hacer locuras como esta:
function foo() {
var undefined = 2;
console.log(undefined); // 2
}
foo();
Esto no podríamos hacerlo por ejemplo con null, ya que es una palabra reservada y no puede ser tratada como una variable.
Operador void
Mientras que undefined es un identificador built-in que contiene el valor undefined por defecto, otra manera de obtener este valor es con el operador void.
La expresión void __ , "vacía" cualquier valor, de manera que el resultado de la expresión es siempre el valor undefined. Esta expresión no modifica el valor existente solo asegura que ningún valor sea retornado de la expresión.
var a = 42;
console.log( void a, a ); // undefined 42
Por convención, la manera más común de representar el valor undefined es usando la expresión void 0. Cabe destacar que no hay diferencia práctica entre void 0, void 1 o undefined.
Resumen
undefined es un identificador que contiene el valor undefined.
El operador void es otra manera de obtener el valor undefined y la manera más usada de obtenerlo es usando la expresión void 0.
Fuentes
You Don't Know JS: Types & Grammar escrito por Kyle Simpson
Latest comments (0)