JavaScript Tip #4–Llaves

Algo que en JavaScript sí importa es la forma en cómo escribimos el texto que hace al código. En este caso, más allá de la sintaxis, la gramática es importante.

function A() {
return
{ valor = 123 };
}

En el código anterior, algo que podría ser tomado como natural o posible en otros lenguajes, en JavaScript puede ser un problema. Si llamamos a la función A, esta, al finalizar, en vez de retornarnos un objeto con una propiedad llamada “valor”, retornará undefined.

function A() {
return {
valor = 123
};
}

El código anterior puede verse idéntico desde la perspectiva de funcionalidad, pero el colocar la llave de apertura inmediatamente después del return hará que el código funcione como se espera.

Es importante, entonces, siempre colocar las llaves en la misma línea a la cual pertenece.


JavaScript Tip #3–Igualdades

Si estamos acostumbrados a otros lenguajes de programación, en especial aquellos con raíz en C o C++, les puede resultar extraño ver código JavaScript donde aparecen no dos iguales (==) sino tres (===) en el análisis de las condiciones.

JavaScript, para este caso, incluye el operador === (Junto a la variante !==) el cual es recomendado a la hora de comparar dos elementos:

var a = ‘1’;
var b = 1;
if (a == b) { … }

En el ejemplo anterior, a y b serán iguales, ya que JavaScript deberá hacer las conversiones necesarias para poder comparar los dos lados de la igualdad. Esto, por supuesto, consume tiempo.

if (a === b) {
   …
} else {
   …
}

En este caso, la condición será falsa, ya que el tipo de dato no es igual y no se realizarán conversiones para verificar la igualdad.


JavaScript Tip #2–Clases

Si, sabemos que (Aún) las clases como tales no existen, y tampoco una sintaxis o nomenclatura. Por lo que, para hacer algo similar, usamos funciones que contiene otras funciones dentro.

El siguiente suele se un caso típico:

function ClaseA() {
   this.funcion = function () {
   };
}

Luego, al crear una instancia de ClaseA obtenemos un objeto más o menos clásico si lo vemos desde la óptica de lenguajes tipados.

Pero JavaScript tiene otra forma de hacer las cosas que es más… JavaScript.

var ClaseA = (function () {

   var claseA = function () { };

   claseA.prototype.funcion = function () { };

   return claseA;
})();

El modelo anterior hace uso de prototype para crear nuevos puntos de entrada y encapsula de mejor forma (Además de se más óptimo) la pseudo clase y las funciones dentro de ella.


JavaScript Tip #1–Use Strict

Arrancamos con una serie de tips sobre JavaScript que pueden ser de utilidad a la hora de trabajar con este excelente lenguaje.

Leer el resto de esta entrada »