lunes, 23 de noviembre de 2015

Notas de javascript

"With great power there must also come great responsibility!"
— Stan Lee

A continuación unas anotaciones que tenía por aquí acerca de Javascript, ese lenguaje tan interesante y potente a la par que lleno de peligros.





  • Declarar un elemento en un array puede significar la creación implícita de elementos de índices inferiores pese a no ser declarados. array[100]=21; Se crearán los índices no definidos, desde 0 hasta 100. Por este motivo puede ser mejor idea usar las funciones push y pop en los array si queremos evitar este efecto
  • El borrado de un elemento de array en javascript elimina el valor, propiedades, etc, no la entrada en si. delete array[1]; longitud tras borrado no disminuye. array[1] será undefined    
  • false, NaN, "", null en javascript se evalúan como false
  • trabajamos con referencias 
  • parseInt analiza una cadena en busca de numeros para tratarlos como enteros. Se detiene el análisis tan pronto como se encuentra un NaN y se queda con lo que haya conseguido analizar.
  • no hay character, son cadenas de texto.
  • Examinando código podemos encontrarnos con frecuencia con !! (doble negación). Es una forma de devolver el valor booleano de una variable. Es como un casting a booleano.
  • Los operadores booleanos no tienen por qué devolver un booleano, sino que devuelven el último valor de todas las condiciones en el caso del &&. Esto justifica el uso de !! que comentamos anteriormente.
  • && y || sirve para detener la evaluación de condiciones en caso de que ya haya evidencia del resultado de la condición.
  • Iteración 'foreach': for(elemento in array) . Debemos tener cuidado ya que el array es un objeto, por lo tanto susceptible de que se le pueda agregar una propiedad. En este caso la iteración podría detenerse al encontrarse índices (la propiedad) no numéricos.
  • Invocar la función sin sus parámetros, devuelve el código de la misma.
  • underscore.js es una librería de utilidades que trata de ampliar y hacer más robusto el lenguaje.
  • Fuera de una función una variable declarada tiene un ámbito global. Esto da pie a conflictos con diversos fragmentos de código. Es recomendable incluir las variables dentro de las funciones. Introducimos variables dentro de funciones anónimas autoejecutables para preservarlas del resto de código y librerías.
          
    (function(){ var foo = "Hi";})();
  • Para poner valores por defecto para los valores de los parámetros de una función usamos un OR:
    function myFunc(str){
        var str = str || "";

No hay comentarios:

Publicar un comentario