Saber si un objeto tiene una propiedad con Javascript

12/Dic/2010 JavaScript 2 Comentarios
Artículos Programación en Javascript

Si estamos trabajando con objetos en Javascript, una de las cosas que nos puede ayudar es el saber si un determinado objeto tiene una propiedad en cuestión. Para acceder a ella.

Y es que solo podremos saber si el objeto tiene variables públicas, nunca variables privadas.

Lo primero que haremos será definir una clase e instanciar un objeto de esa clase:

function rectangulo(base,altura){
	this.base = base;
	var altura = altura;
	this.calcularArea = function() { return this.base*this.altura; };
	this.getBase = function() {return base;}
	this.getAltura = function() {return altura;}	
}

var r1 = new rectangulo(2,3);

Vemos que el objeto tiene una propiedad base que es pública y otra que es altura, la cual es privada. Para saber si un objeto tiene una propiedad utilizamos el método .hasOwnProperty, el cual recibe como parámetro el nombre de la propiedad sobre la cuál queremos conocer su existencia.

Así el código para saber si un objeto tiene una propiedad sería:

if (r1.hasOwnProperty("base"))
  document.write("El objeto tiene la propiedad BASE");
else
  document.write("El objeto NO tiene la propiedad BASE");

document.write("
"); if (r1.hasOwnProperty("altura")) document.write("El objeto tiene la propiedad ALTURA"); else document.write("El objeto NO tiene la propiedad ALTURA"); document.write("
"); if (r1.hasOwnProperty("area")) document.write("El objeto tiene la propiedad AREA"); else document.write("El objeto NO tiene la propiedad AREA");

Al ejecutar el código veremos que obtenemos el valor false para altura (ya que es una propiedad privada) y para área (ya que no existe). En cambio veremos el valor de true para base.

Vídeos sobre Javascript


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.