Introducción
ES5 y ES6 se refieren a diferentes versiones del estándar ECMAScript, una especificación de lenguaje de scripting que sirve de base para varios lenguajes, incluyendo JavaScript. La evolución de ES5 a ES6 (también conocido como ECMAScript 2015) trajo consigo numerosos cambios y mejoras. A continuación, se presenta una comparación entre ambos:
sea .1 y const (declarando variables)
ES5: La forma principal de definir variables es utilizar variedad Fue.
ES6: Introducción dejar Para definir variables basadas en bloques y constante Para definir variables constantes basadas en bloques.
2. Literales de plantilla
ES5: Cadenas que utilizan + Estaban conectados.
var name = "John";
var greeting = "Hello, " + name + "!";ES6: Se introdujeron patrones de cuerdas.
let name = "John";
let greeting = `Hello, ${name}!`;Funciones de flecha .3
ES5:
function(x) {
return x * x;
}ES6: Se introdujeron las funciones de flecha, que proporcionan una notación más corta para escribir funciones.
x => x * x;
4. Clases
ES5: Se utilizó la herencia prototípica para simular el comportamiento de las clases.
ES6: Palabra clave clase Fue introducido para la programación orientada a objetos.
5. Literales de objeto mejorados
ES5: Los objetos se definieron mediante pares clave-valor.
ES6: Proporciona una notación más corta para definir objetos.
let name = "John";
let obj = {name}; // Equivalent to {name: name}6. Desestructuración
ES5: No había un método directo.
ES6: Ahora es posible extraer múltiples propiedades de un objeto o matriz de una manera más concisa.
let person = { firstName: "John", lastName: "Doe" };
let { firstName, lastName } = person;7. Valores predeterminados, Rest y Spread
ES5: La gestión de valores predeterminados, de reposo o de spread se realizaba de forma manual.
ES6: Valores predeterminados para los parámetros de función, parámetro ...descansar Para recopilar argumentos y operadores ...desparramar Introducido para expandir una matriz o un objeto.
8. Módulos
ES5: No existía un sistema de módulos nativo. Los desarrolladores utilizaban soluciones de terceros como CommonJS o AMD.
ES6: Sistema de módulos nativos que utiliza importar y exportar Introducido.
9. Promesas
ES5: Se utilizaron devoluciones de llamadas para operaciones asincrónicas.
ES6: Se introdujeron promesas para gestionar operaciones asincrónicas de una manera más estructurada.
10. bucle for-of
ES5: Para iterar sobre matrices, utilice bucles. para O para cada uno Fue utilizado.
ES6: Anillo para-de Se introdujo para iterar sobre objetos iterables.
Conjunto, Mapa, Conjunto Débil, MapaDébil 11
ES5: No hubo equivalente directo.
ES6: Este tipo de colecciones se introdujeron para la gestión de datos.
12. Tipo de símbolo
ES5: No existía tal cosa.
ES6: Tipo Símbolo Introducido para crear identificadores únicos.
13. Métodos de matriz y objeto
ES5: Un conjunto limitado de métodos.
ES6: Nuevos métodos como Matriz.de, Matriz de, Objeto.asignar Y se introdujeron muchos otros.
14. Gestión de parámetros
ES5: Parámetros que utilizan objetos argumentos Se concedió el acceso.
ES6: Soporte directo para la gestión de parámetros mediante descansar, por defecto y desparramar.
Resultado
Esta es una comparación de alto nivel. La transición de ES5 a ES6 trajo consigo numerosos cambios y mejoras que enriqueceron considerablemente el lenguaje JavaScript. Con el tiempo, versiones posteriores (como ES7/ES2016 y posteriores) añadieron más funciones al lenguaje.









