
Uno de los cambios más importantes dentro del lenguaje JavaScript, uno de los más utilizados actualmente en el desarrollo web. La nueva versión web de la especificaciones del ECMAScript 6 o 2015 (European Computer Manufacturers Association) que también se le conoce como ES6.
Conocidas en otros lenguajes (C#, Java) como “expresiones lambda”, arrows o flechas son abreviaciones de funciones utilizando el operador =>
Una forma más compacta para hacer funciones en JS.
“this” se maneja diferente.
Funciones de una sola línea.
Generadores:
Los generadores son un tipo especial de función que regresa una serie de valores con un algoritmo definido por el usuario.
Una función se convierte en generador si contiene una o más expresiones yield y se declara con function*.
En EcmaScript 6 podemos recibir valor por omisión o default en los parámetros de las funciones. Pueden ser definidos como variables primitivas, funciones, expresiones o arreglos.
Conocidas en otros lenguajes (C#, Java) como “expresiones lambda”, arrows o flechas son abreviaciones de funciones utilizando el operador =>
Una forma más compacta para hacer funciones en JS.
“this” se maneja diferente.
Funciones de una sola línea.
let indica que una variable sólo va a estar definida en un bloque en particular, al terminar el bloque la variable deja de existir, esto es muy útil para evitar errores lógicos cuando alteramos una variable que no deberíamos.
Symbol Type
Los “símbolos” son un nuevo tipo de dato primitivo.
Los símbolos son únicos e inmutables y son utilizados como identificadores para propiedades de objetos.
Los símbolos pueden tener una descripción opcional, pero sólo es utilizada para fines del depurador.
Literales octales y binarias:
Hay ocasiones en que el contexto de nuestros datos requiere que trabajemos con cifras no decimales, por ejemplo en base 2 (binario) o base 8 (octal), ahora es sencillo crear este tipo de literales con los prefijos (0b) y (0o) respectivamente.
Maps y Sets
Los mapas (Map) son una estructura de datos que almacenan pares de llave (key) y valor (value), los conjuntos (Set) tienen la característica de no aceptar duplicados, y ambos permiten búsquedas eficientes cuando se tiene un gran volumen de información porque no guardan sus elementos ordenados por un índice, como ocurre con los arreglos.
Destructuring es un nuevo método para extraer datos rápidamente de un objeto { } o un arreglo [ ] sin tener que escribir mucho código.
Apuntes de la sección 2: Mejoras a las variables
Objetos
Sintaxis corta para los objetos:
Antes:
obj = {x:x, y:y}
Ahora:
obj = { x, y }
Objetos de propagación o ...spread
La sintaxis de Spread nos permite expandir la expresión para los siguientes casos:
Arreglos (arrays)
Llamadas a Funciones
Ahora podemos hacer clases por medio de la sentencia “class”.
Podemos utilizar el método “ constructor()” para crear la función constructora.
Los lenguajes tradicionales basados en clases ofrecen la palabra reservada this para referencia la instancia actual de la clase.
En Javascript this se refiere al contexto de la llamada y como tal puede ser cambiado a algo más que un objeto.
La sintaxis de Spread nos permite expandir la expresión para los siguientes casos:
Arreglos (arrays)
Llamadas a Funciones
Múltiple destructuring de variables
Mejoras en las expresiones regulares
La bandera “y” mantiene la posición entre coincidencias mediante el parámetro lastIndex, por lo que se le llama “búsqueda pegajosa” o “bandera adhesiva”.
Asignación de propiedad de objeto:
Nueva función para asignar propiedades enumerables de uno o más objetos fuente a un objeto de destino (método assign).
El flujo de información de Internet tiene características asíncronas, lo que significa que mientras esperamos el resultado de una operación como por ejemplo que carguen los datos de una página web, un programa puede realizar otras operaciones y utilizarlo cuando el resultado esté listo.
Las “promesas” (promises) son objetos que representan esta clase de operaciones y los datos que se obtienen.
Las promesas nos sirven para administrar las funciones de callback, procesos asíncronos.
race[ ] indican si se cumple “alguna” de las promesas, la más rápida. El método Promise.race(iterable) retorna una promesa que se cumplirá o no tan pronto como una de las promesas del argumento iterable se cumpla o se rechace, con el valor o razón de rechazo de ésta.
En esta clase realizaremos un proceso asíncrono con Ajax controlado con una promesa.
Es necesario ejecutarlo en un servicio de Internet, como Apache o IIS.
El objeto Proxy se usa para definir un comportamiento personalizado para operaciones fundamentales (por ejemplo, para observar propiedades, cuando se asignan, enumeración, invocación de funciones, etc).
Por medio del método construct podemos interceptar o atrapar el constructor de cualquier objeto.
Por medio del método construct podemos interceptar o atrapar el constructor de cualquier objeto.
Necesitamos el parámetro get que recibe tres parámetros: el target, la propiedad y el proxy definido.
Necesitamos el parámetro set que recibe tres parámetros: el target, la propiedad y el valor.
Por medio de deleteProperty podemos interceptar si se solicita borrar una propiedad. Recibe dos parámetros: target y propiedad.
Podemos hacer un objeto Proxy como revocable o “remobible” por medio del método Proxy.revocable().
La sintaxis es:
Proxy.revocable(target, handler);
Una función async devuelve una promesa (Promise).
Si una función asíncrona devuelve un valor, la promesa se resolverá con ese valor.
Una función asíncrona puede contener una expresión await, la cual pausa la ejecución de la función asíncrona.
El flujo de información de Internet tiene características asíncronas, lo que significa que mientras esperamos el resultado de una operación como por ejemplo que carguen los datos de una página web, un programa puede realizar otras operaciones y utilizarlo cuando el resultado esté listo.
Las “promesas” (promises) son objetos que representan esta clase de operaciones y los datos que se obtienen.
Las promesas nos sirven para administrar las funciones de callback, procesos asíncronos.
Archivos del curso en formato zip
Apuntes de a sección ES6 (PDF)
Uno de los cambios más importantes dentro del lenguaje JavaScript, uno de los más utilizados actualmente en el desarrollo web. La nueva versión web de la especificaciones del ECMAScript 6 o 2015 (European Computer Manufacturers Association) que también se le conoce como ES6. En este curso podrás actulizar tus conocimientos en JavaScript con los siguientes objetivos:
Este curso está enfocado a los desarrolladores con conocimientos de JavaScript que deseen actualizar sus habilidades en este lenguaje. por que necesita contar con conocimientos básicos de HTML, CSS y JavaScript.