Detalles sobre JavaScript

Diferentes pequeños detalles de JavaScript que no se utilizan de forma muy habitual, pero que son bastante útiles.

  1. ScratchPatch (Firefox Shift+F4) – para escribir JS y ejecutar. Usa console.log(…) con consola (F12). Para poder hacer copy/paste escribir “permitir pegar” o “allow pasting” y CTRL+R.
    2.1. Operador ternario. Ej.: (n%2) == 0 ? alert(“numero par”) : alert(“numero impar”);
    2.2. Cortocircuito de expresiones lógicas. && o ||. Si primeras condiciones no se cumplen, resto no se verifican.
    2.3. Valores pseudo-Booleanos: Truly y Falsy (falsosos y verdosos). Ej.: if (window.Worker).
    Importante el orden: alert(“cualquier cosa” && true) -> true, alert( true && “cualquier cosa”); -> “cualquier cosa”. Operadores && y || devuelven valor de primer o segundo operando, no solo true/false. En && si primero es false, se devuelve primero, en || si primero es true se devuelve primer operando. Convertir algo en un booleano siempre con !!: !!”variable”. Se utiliza mucho en “return !!res;” en funciones.
  2. Uso avanzado de bucles determinados. Cambiar y complicar partes de los bucles. for (; i< 10; i++), for (var i = 0, j = 10; i< j; i++), for (var i = 0; ; i++), for (var i = 0, j = 0; i<10 && j < 5; i++, j++), for (;;)
  3. Uso de expresiones complejas con switch. Truco para tener condiciones complejas:
    switch (true) {
    case x > 0 && x < 10: alert(“x > 0 && x < 10”); break; case x > 0 && x < 20: alert(“x > 0 && x < 20”); break; case x < 0 || x > 100:
    alert(“x < 0 || x > 10”);
    break;
    default:
    alert(“Ninguno”);
    }
    5.1. Ámbito de las variables. Global desde cualquier parte de codigo (se define fuera de función). Local – solo dentro de una función.
    5.2. Shadowing u ocultamiento de variables. Cuando funcion tiene variable con mismo nombre en distinto ambito, prevalece la de ambito menor.
    5.3. Hoisting o elevación. Hay diferencia entre variable no definida y la que no existe. Si se define mas tarde, javascript lo mueve por dentro al principio de la función.
    5.4. Sobrecarga de funciones. Podemos tener mas argumentos de los definidos. Ej.:
    funcion sumarNumeros(){
    var parcial = 0;
    for (var i=0;i, <, etc.). Comparación teniendo en cuenta lenguaje indicado con “localeCompare”. Por defecto usa lenguaje de navegador.

Leave a Reply

Your email address will not be published. Required fields are marked *