martes, 27 de noviembre de 2012

Javascript - Creación de un objeto

A diferencia de otros lenguajes de programación, javascript permite crear un objeto sin necesidad de recurrir a ningun metodo o función contructora. Podemos crear un objeto simplemente de la siguiente manera:

//creación del objeto
var oRectangle = {};


Con esta linea tenemos un objeto vacío, si queremos añadirle atributos bastaría de la siguiente manera:

oRectangle.width = 200;
oRectangle.height = 300;

Hemos asignado 2 atributos (alto y ancho), imaginemos que queremos un metodo que calcule el area, añadiriamos el metodo de la siguiente manera:

oRectangle.area = function () {
    return this.height * this.width;
};
//si ejecutamos el metodo nos devuelve el area
oRectangle.area();
//devuelve 60000

En este ejemplo vemos el uso de la palabra clave "this", this en javascript apunta a diferentes sitios dependiendo del "contexto" de ejecución. En concreto, si corresponde a un metodo de un objeto, this apuntará al objeto en cuestión, por el contrario en una función cualquiera this apuntará al objeto global (normalmente window). Entraremos más en detalle en otro articulo. En estos ejemplos, this es una variable que apunta al objeto instanciado (oRectangle).

Todo lo anterior podemos definirlo más directamente de la siguiente manera:

var oRectangle = {
    width : 200,
    height : 300,
    area : function () {
      return this.height * this.width;
    }
};

Más adelante veremos como crear funciones constructoras para simular la programación orientada a objetos en javascript, veremos el concepto de clase, herencia, abstracción, atributos privados. 

Hasta pronto


No hay comentarios:

Publicar un comentario