
Trucos para desarrollar en JavaScript 20.DEC.13

JavaScript es un lenguaje muy bueno que nos permite hacer muy buenos trabajos no solo en el navegador sino utilidades de escritorio, como las que podemos encontrar en npm y del lado del servidor gracias NodeJS, así que si ya llevamos mucho tiempo programando en este lenguaje hay algunas cosas que podemos poner en practica para hacer nuestro código un tanto más pequeño y limpio. Si aun eres novato puedes ver algunas de nuestras sugerencias para que aprendas JavaScript.
Cinco cosas que no debes hacer en JavaScript
Lo que debes saber de JavaScript
1- Llamada a métodos
Generalmente si queremos llamar un método dependiendo del estado de una variable usamos un bloque condicional pero hay una solución un poco mas resumida y que cumple el mismo propósito.
//Versión Larga if(estado){ obj.start(); }else{ obj.stop(); } //Version corta var metodo = (estado ? 'start' : 'stop'); obj[metodo]();
2- Concatenar Strings
Muchos usan'+'para unir dos cadenas de caracteres pero podemos usar el metodo join que es más eficiente y mucho más elegante.
["Web", "Bizarro"].join(" "); //Web Bizarro ["Noticias", "Tutoriales", "Aplicaciones"].join(", "); // Noticias, Tutoriales, Aplicaciones
3- Usar el operador || y el operador &&
Estos son los operadores lógicos de JavaScript y claro que todos los hemos usado en bloques condicionales pero hay otras formas en que se puede usar.
// Para colocar valores por defecto a una variable var nombre = mi_nombre || "Invitado"; var hacer_algo = function(options){ options = options || {}; }; // Para hacer llamadas condicionales, en vez de hacer if (verdad){ decirVerdad(); } // podemos hacer esto verdad && decirVerdad(); // o para verificar si una función esta definida y evitar errores var funcion = undefined; funcion && funcion() //no se llama la función porque para JavaScript undefined es False
4- Timing
Esto es muy útil si quieres hacer pruebas de rendimiento.
var a = [1,2,3,4,5,6,7,8,9,10]; console.time('prueba 1'); for (var i = 0; i < a.length; i++); console.timeEnd('prueba 1'); // salida: prueba 1: 0.041ms console.time('prueba 2'); for (var i = a.length - 1; i >= 0; i--); console.timeEnd('prueba 2'); // salida: prueba 2: 0.030ms
Espero que les sea útil y si conocen algún otro truco que nos ayude a mejorar nuestro código no duden en compartirlo.
Alvaro José Rios Ch