ES2015: última versión de JavaScript

ES2015 es la última versión del lenguaje de programación JavaScript. Es la primera actualización importante de JavaScript desde 1997. Fue aprobado en junio de 2015 por ECMA International, una asociación responsable de aprobar los estándares ECMA que siguen lenguajes de programación como JavaScript, CoffeeScript y TypeScript. El nombre de esta versión de JavaScript ha sufrido múltiples cambios desde Harmony hasta ES6 y ES2015. Antes de ES2015, ECMAScript recibió el nombre de los números de versión. Fue solo recientemente que se decidió que se nombrará de acuerdo con el año de lanzamiento. Por lo tanto, el nombre cambió de ES6 a ES2015.

A continuación se muestra la lista de las principales actualizaciones

  1. Alcance de bloques: el alcance de variables de JavaScript junto con los conceptos de elevación de variables ha confundido a los desarrolladores durante mucho tiempo. Hasta ES5, las variables tienen un alcance global o un alcance de nivel de función. La falta de alcance de bloques fue un verdadero problema, especialmente para las personas que venían de otros lenguajes de programación como C++/Java. Con la introducción de las palabras clave «let» y «const» en ES2015, la vida seguramente será un poco más fácil para los programadores de JavaScript.
  1. Promesas: las promesas proporcionan un mecanismo para manejar llamadas asincrónicas. Con ES2015, JavaScript tiene un mecanismo incorporado para registrar y manejar promesas
  1. Funciones de flecha: con la adición de funciones de flecha, los programadores tendrán que escribir menos pulsaciones de teclas para declarar una función. Las funciones de flecha también ayudarán a eliminar la declaración como «self = this» ya que la función de flecha pasa la variable «this» de la función que llama dentro de la función llamada.
  1. Módulos: hasta ahora, para cargar módulos, los desarrolladores tenían que depender de bibliotecas como commonJS o requireJS. Con ES2015, el concepto de módulos se abre camino en JavaScript con el mecanismo de carga de módulos.
  1. Clases: La palabra clave explícita ‘Clase’ definitivamente lo hará más fácil para las personas que vienen de cualquier otro lenguaje de programación orientado a objetos.
  1. Métodos de string adicionales: se han agregado algunos métodos convenientes al prototipo de string. Pocos de estos son
    1. prototipo.startsWith: esta función comprueba si la string comienza con los caracteres de otra string. El valor de retorno es verdadero o falso.
    2. Prototype.endsWith: esta función comprueba si la string termina con los caracteres de otra string. El valor de retorno es verdadero o falso.
    3. prototipo.incluye: esta función comprueba si se encuentra una string dentro de otras strings. El valor de retorno es verdadero o falso.
    4. prototipo.repetir: Esta función toma como argumento un valor entero, digamos i. Devuelve una string que contiene una string que contiene la string repetida i veces.
  1. Métodos de array adicionales: se han agregado algunos métodos más al prototipo de array junto con nuevos métodos de clase estática. Pocos de estos son
    1. from: crea una nueva array a partir de un objeto iterable o similar a una array. También puede aplicar una función de mapa a todos los elementos de la array.
    2. of: crea una nueva array con un número variable de argumentos independientemente del tipo o número de argumentos.
    3. Prototype.find: la función de búsqueda toma como argumento una función de devolución de llamada que se llama para cada elemento. Si la devolución de llamada devuelve verdadero para cualquier elemento, ese elemento se devuelve inmediatamente. Si la devolución de llamada no devuelve verdadero para ningún elemento, se devuelve indefinido.
    4. prototipo.findIndex: Esta función es similar a Array.prototype.find(). La única diferencia es que en lugar de devolver el valor, devuelve el índice de ese valor en la array.
    5. prototipo.fill: el método de relleno llena todos los elementos de la array desde el índice inicial hasta el índice final con un valor estático.
  1. Métodos matemáticos adicionales: se han agregado métodos al objeto matemático. Estos son
    1. sign: Esta función devuelve el signo del número indicando si es un número positivo, un número negativo o cero.
    2. trunc: esta función devuelve la parte entera del número eliminando cualquier parte fraccionaria.
    3. cbrt: este método devuelve la raíz cúbica del número de entrada.
  1. Desestructuración: con la desestructuración en su lugar, se pueden asignar valores a múltiples variables de una sola vez.
  1. Valores predeterminados de los parámetros: los parámetros de función ahora pueden tener valores predeterminados. Entonces, si mientras llama al usuario no pasa el valor al argumento, se usará el valor predeterminado. Con esta función, ahora se pueden evitar las validaciones de parámetros de entrada iniciales en las funciones.
  1. Literales de plantilla: la interpolación de strings ahora es fácil con el uso de acentos graves. Para colocar una variable entre una string, ya no necesita dividir la string y usar el operador ‘+’ para concatenar strings. Simplemente coloque la variable entre $y llaves y listo. Las strings de varias líneas también están permitidas ahora dentro de los acentos graves.

A partir de ahora, los navegadores no son compatibles con todas las funciones de ES2015, aunque eventualmente lo serán.

Enlaces útiles:

  1. Para verificar qué navegadores admiten qué funciones, vaya a https://kangax.github.io/compat-table/es6/ .
  2. Este artículo cubrió brevemente las características principales de ES2015. Si está interesado en más, la lista completa de características está disponible en http://es6-features.org/ con ejemplos.
  3. Enlace a la especificación ES2015 original: http://www.ecma-international.org/ecma-262/6.0/
  4. Para comprender la diferencia entre JavaScript y ECMAScript, consulte la respuesta en http://stackoverflow.com/questions/912479/what-is-the-difference- between-javascript-and-ecmascript/30113184#30113184

Si también desea exhibir su blog aquí, consulte GBlog para escribir un blog invitado en GeeksforGeeks.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *