Siguiendo con la construcción de los objetos, esta ocasión hablaré sobre otra forma muy común de construir objetos. Me refiero a Object Literal Notation (OLN).

OLN es una forma de escritura que se popularizó gracias al surgimiento de JSON, un “formato ligero para el intercambio de datos” (Wikipedia). OLN es una forma de escribir javascript, o más concreto, objetos en javascript usando un conjunto de pares conocidos como propiedad y valor. Para construir un objeto usando OLN es suficiente con hacer lo siguiente:

var Buzu = {
     nombre: 'buzu',
     hablar: function(){
          alert('Amor, paz, respeto y libertad -Revolución');
     }
}

Lo que acabamos de hacer es crear un objeto similar al que creamos en la entrega anterior de esta serie. Podrás ver que esta forma de crear objetos es mucho más compacta. Sin embargo, tiene sus desventajas. Una de ellas es que los objetos que se crean de esta manera no son fácilmente instanciables, por lo que se puede decir que no son la mejor opción si se piensa en re-usar los objetos al mismo tiempo o tener varias instancias del mismo objeto al mismo tiempo.

Este tipo de escritura esta siendo usado últimamente para crear una especie de pseudonamespaces para asegurar que diferentes librerías no “choquen” entre si causando errores. El uso de esta técnica no es muy difundido aun especialmente entre la comunidad latina de desarrolladores o programadores en javascript, sin embargo es cada vez más usada.

Para lograr esa especie de namespaces simplemente se necesita “encerrar” todas nuestras funciones dentro de una función auto ejecutable, es decir, una función que se ejecuta inmediatamente después de haber sido leída. Ej:

(function(){
     if(!window.b){window['b'] = {} }
     function alertar(que){
          alert(que)
     }
     window['b']['alertar'] = alertar;
}
)();

De esa manera para poder acceder a la función alertar, es necesario poner la siguiente instrucción:


b.alertar('hola mundo');

De este modo aun que alguna otra librería que se esté usando contenga una función llamada alertar, será muy difícil que esta genere problemas con la nuestra.

Esta técnica es especialmente útil si se quiere distribuir una librería o trabajar con varias librerías en el mismo proyecto.

En la siguiente entrega del esta serie aplicaremos lo que hemos aprendido hasta ahora creando una librería pequeña a la cual podrás ir agregando más funciones conforme las valla necesitando. Esa será probablemente la última entrega de esta serie y explicaré temas de suma importancia, especialmente la diferencia entre métodos públicos, privados y privilegiados. Será una entrega larga y con mucha info.

Hasta entonces!

4 Responses to “Javascript Orientado a Objetos sgun Buzu -Object Literal Notation”

  1. entrepixeles Says:

    que opinias de los framework como jquery ? para este tipo de aplicaciones javascript ?

  2. buzu Says:

    Personalmente no uso frameworks. He oído que son muy buenos y demás, pero prefiero hacer todo a mano. No he encontrado hasta el momento un proyecto que requiera un framework. Lo que si uso es una librería que yo mismo he creado en la que tengo mis funciones más recurrentes como event handlers y cosas de ese estilo. Que opinas tú de los frameworks?


  3. [...] objetos en Javascript y la más utilizada además. Si no tiene idea de lo que hablo puedes ver esta explicación en el blog de imBuzu donde hace una clara explicación sobre Object Literal [...]


  4. [...] Una forma de hacer uso del prototipo de un objeto es mediante OLN. [...]


Leave a Reply