Artículos
Javascript

Saber si un objeto tiene una propiedad con Javascript

12/Dic/2010

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

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Suscribir
Notificar de
guest
2 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios