Objetos en javascript

Entendiendo los objetos en javascript

En javascript todo es un objeto o forma parte de un objeto inclusive la variables que declares en el ámbito global forman parte de un objeto y esas son las cosas que vamos a tratar en este post de objetos en javascript.

Primero empecemos con lo antes mencionado, a que objeto pertenece una variable que acabamos de crear global-mente y si es así entonces los demás objetos que creo dentro de javascript también están dentro de este objeto. Si tomamos esto como una jerarquía el objeto que esta mas arriba o el que contiene a los demás es el objeto document el (DOM-Document Object Model).

un ejemplo gráfico:

Por otro lado tenemos el BOM(Browser Object Model) y el GJO(Global Javascript Object). Estos 3 se les llama buid-in objects y vienen con el navegador.

En este post nos centraremos mas en como declarar un objeto en javascript, como agregar propiedades y metodos al objeto y talvez otros asuntos relacionados con los objetos.

Cómo declarar un objeto.

Un objeto puede ser declarado de 2 maneras podemos declararlo usando new object() y también podemos declararlo usando {}.

Por ejemplo, en otro post use marcas de autos para hacer un objeto json, veamos como hacerlo en javascript. hagamos un objeto auto.

var auto = {
	marca:"jaguar",
	puertas :2,
	//ahora 2 metodos
	prenderAuto:function(){
		alert("el auto esta prendido");
	},
	apagarAuto:function(){
		alert("el auto esta apagado");
	}
}
alert(auto.marca);
alert(auto.puertas);
auto.prenderAuto();
auto.apagarAuto();
//ahora que pasa si hago esto?(por supuesto nos dará undefined)
alert(auto.direccion);
auto.direccion = "electrica";
alert(auto.direccion);//hemos agregado la propiedad direccion

A esta forma de declarar se le llama notación literal del objeto, veamos el mismo objeto pero declarado de otra manera.

//creo el objeto vacio
var auto ={};
//agrego las propiedades y metodos del objeto luego (solo agregare 1 y 1)
auto.marca ="jaguar";
auto.apagarAuto = function(){
   alert("el auto esta apagado");
};

Mismo ejemplo usando new Object().

var auto= new Object();
auto.marca ="jaguar";
auto.apagarAuto = function(){
   alert("el auto esta apagado");
};

Además cuando usamos new Object() estamos usando una notación por constructor (constructor notation). Ahora bien lo mas probable es que queramos hacer un objeto auto y lo llamemos con new auto() para hacer esto tenemos que hacer un constructor.

Creando un Constructor para un objeto en javascript.

Primero para crear el constructor debo crear una función que se llame auto.

function auto(marca,puertas){
   this.marca = marca;
   this.puertas =puertas;
   this.apagarAuto = function(){
      alert("el auto esta apagado");
   };
}
//luego podemos crear nuestro objeto asi
var x1 = new auto("jaguar",4);
alert(x1.marca);//nos debería dar jaguar como respuesta

Finalmente concluimos que para crear un constructor de mi objeto auto solo tengo que usar la palabra clave function y la palabra clave this, la palabra clave this es para referirse al objeto que estamos creando con esa función. También podemos agregar que los objetos en javascript no usan clases así que no vera la palabra clave class en javascript.

Ayudame: Por favor deja un comentario antes de irte, tu opinión es bienvenida. Si te gusta el contenido comparte.