Technology & Engineering">
Clase 2 - JavaScript ES6
Clase 2 - JavaScript ES6
Clase 2 - JavaScript ES6
JavaScript ES6
myName = 'Bob';
Tipo de las variables
● Números
● Cadenas de caracteres (Strings)
● Booleanos
● Arreglos (Arrays)
● Objetos
Tipado dinámico
JavaScript es un "lenguaje tipado dinámicamente", lo cual significa que, a diferencia
de otros lenguajes, no es necesario especificar qué tipo de datos contendrá una
variable (números, cadenas, arreglos, etc.).
¿Qué es una matriz?
Las matrices se describen como "objetos tipo lista"; son objetos individuales que
contienen múltiples valores almacenados en una lista.
Pueden almacenarse en variables y tratarse de la misma manera que cualquier
otro tipo de valor, la diferencia es que podemos acceder individualmente a cada
valor dentro de la lista.
shopping[0];
// devuelve "bread"
shopping[0] = 'tahini';
shopping;
// shopping ahora devolverá [ "tahini", "milk", "cheese",
"hummus", "noodles" ]
Encontrar la longitud de una matriz
Puedes averiguar la longitud de una matriz (cuántos elementos contiene) utilizando
la propiedad length.
sequence.length;
// devuelve 7
sequence.push('8');
sequence.pop;
Condicionales
El código necesita realizar decisiones y llevar a cabo diferentes acciones acordes
dependiendo de distintas entradas. Por ejemplo, en una aplicación del clima, si se
observa en la mañana, se despliega una gráfica del amanecer; si es de noche,
muestra estrellas y una luna.
Operadores de comparación
● && AND: le permite encadenar dos o más expresiones para que todas ellas se
tengan que evaluar individualmente true para que la expresión entera retorne
true.
● || OR: le permite encadenar dos o más expresiones para que una o más de
ellas se tengan que evaluar individualmente true para que la expresión entera
retorne true.
function squared(num) {
return num * num;
}
function cubed(num) {
return num * num * num;
}
ECMAScript 6
ES6 – ECMAScript 6
Hoy tenemos transpiladores para traducir ES6 a ES5, pero también los hay para
traducir de otros lenguajes a Javascript. TypeScript, CoffeeScript o Flow, son
lenguajes que una vez transpilados se convierten en Javascript ES5, compatible con
cualquier plataforma.
Template Strings
Con ES6 podemos interpolar Strings de una forma más sencilla que como
estábamos haciendo hasta ahora.
De esta forma evitamos tener que concatenar las variables al string definido con
comillas.
Let && Const
Var - Let
● El scope (alcance) de var abarca toda la función en la cual esta definida.
● Con Let el alcance de la variable pasa a ser las llaves en la cual está definida:
En este caso vemos que podemos acceder y En caso de ser un array, la constante
crear una constante “Street”, “city”, “state” “first” tendrá asignado el valor del
relacionada con las propiedades que tienen el array en el índice 0, mientras que
mismo nombre en el objeto address “last” el valor del array en el índice 1
Valores por defecto
Asignar valores por defecto a las variables que se pasan por parámetros en las
funciones. Antes teníamos que comprobar si la variable ya tenía un valor, ahora con
ES6 se la podemos asignar según creemos la función.
La promesa es un objeto en
este caso lo asignamos a la
variable “p”.
Este objeto recibe como
parámetro una función de
callback la cual recibe el
parámetro resolve y reject.
● En caso que se resuelva la promesa de forma correcta retornara:
resolve(valor_retorno)
Esto indicara que la ejecución fue correcta y retorna el valor deseado.
● En caso que ocurra un error o excepción se retornara:
reject(valor_error)
Se indica un error o excepción y la causa como parámetro.
● Una función "async", es una función que sabe cómo esperar la posibilidad de
que la palabra clave "await" sea utilizada para invocar código asíncrono.
● Por otro lado, await solo trabaja dentro de las funciones async.
Esta puede ser puesta frente a cualquier función async basada en una promesa
para pausar tu código en esa línea hasta que se cumpla la promesa, entonces
retorna el valor resultante.
Mientras tanto, otro código que puede estar esperando una oportunidad para
ejecutarse, puede hacerlo.
Clases
Ahora JavaScript tendrá clases, muy parecidas las funciones constructoras de
objetos que realizamos en el estándar anterior, pero ahora bajo el paradigma de
clases, con todo lo que eso conlleva, como, por ejemplo, herencia.
This
La variable this muchas veces se vuelve un dolor de cabeza. antiguamente
teníamos que cachearlo en otra variable ya que solo hace referencia al contexto en
el que nos encontremos.
En el siguiente código si no hacemos var that = this dentro de la función
document.addEventListener, this haría referencia a la función que pasamos por
Callback y no podríamos llamar a foo( )
Con ECMAScript5 la cosa cambió un poco, y gracias al método bind
podíamos indicarle que this hace referencia a un contexto y no a otro.
Ahora con ES6 y la función Arrow => la cosa es todavía más visual y sencilla.
Gracias!