Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/12/2011, 15:26
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: diferencias entre undefined, variable cero y valor nulo

Undefined y null son "lo mismo" (no exactamente):
Cita:
undefined == null; // true
undefined === null; // false
A diferencia de null, undefined es una variable, por lo que esto es perfectamente válido:
Cita:
undefined = 3;
y también totalmente carente de sentido.
Los tres son falsy values, pero tienen cometidos distintos. Por ejemplo undefined es lo que devuelve cuandi intentas acceder a una propiedad de un objeto que no existe:
Código Javascript:
Ver original
  1. var obj = {};
  2. obj.a; // undefined
Null puedes retornarlo en una función, por ejemplo al buscar elementos en el DOM y no encontrar nada, pero te recomiendo mejor [] para ese caso concreto.
Por último, 0 es falsy pero también es un número, puedes usarlo por ejemplo para acceder a posiciones de arrays:
Código Javascript:
Ver original
  1. var f = function(x){ return +!!x; } // 0 ó 1
  2. var values = ['foo', 'bar', 'baz', 'candy'];
  3. console.log(values[f(false)]); // 'foo' -> values[0]
  4. console.log(values[f(true)]);  // 'bar' -> values[1]
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red