По всему Интернету вы можете увидеть аббревиатуру ES.
Что такое ЭС?
- ES означает ECMAScript.
- ECMAScript – это стандарт.
- JavaScript — это язык, соответствующийстандартам ECMAScript.
- ES2015 такой же, как ES6, пусть это вас не смущает!
Как бы то ни было… В прошлой жизни я писал ES6. Сегодня все по-другому, я вынужден писать ES5, потому что мы все еще используем встроенный bundle.config ASP .NET MVC, который не поддерживает ES6. Смена сборщика — это большая работа, поэтому я и моя команда не собираемся писать ES6 в ближайшее время. Вот некоторые из наиболее важных отличий!
ES5 vs ES6
ключевое слово let и const
ES5 не поддерживает let и const
let a; const b = 5; //immutable
Стрелочные функции
ES5 не поддерживает стрелочные функции:
var myFunc = function(param) { }
ES6:
var myFunc = (param) => { }
Интерполяция строк
ES5:
console.log('Hi ' + name);
ES6 поддерживает обратные тики:
console.log(`Hi ${name}`)
Разрушение
ES5:
var obj = {a: 1, b: 2, c: 3}; var a = obj['a'], b = obj.c; console.log(a, b);
ES6:
var [a, , b] = [10, 20, 30]; console.log(a); // result: 10 console.log(b); // result: 30
Еще один отличный пример в ES6:
words = () => { return { positive: "Awesome", negative: "Sucks", neutral: "Ok" } } var {positive, negative, neutral} = words() console.log(positive); // result: Awesome console.log(negative); // result: Sucks console.log(neutral); // result: Ok
Дефолт
ES6: установите значение по умолчанию в ваших параметрах
function f(x, count=5) { return x * count; }
Распространять
ES6
var parts = ["tire", "wheel"]; var copyArray = [...parts]; copyArray.push("door"); console.log(parts); // result: ["tire", "wheel"] console.log(copyArray; // result: ["tire", "wheel", "door"]
Примечание. Синтаксис расширения эффективно углубляется на один уровень при копировании массива. Поэтому он может не подходить для копирования многомерных массивов, как показано в следующем примере. (То же самое верно для
Object.assign()
и синтаксиса распространения.)
Модули и загрузчики модулей
ES6:
import {sayHi, sayBye} from './say.js';
Обещания
ES6:
var p1 = new Promise((resolve, reject) => { setTimeout(() => resolve("1"), 101) })
Наследуемые встроенные модули
ES6:
class CustomArray extends Array { } var a = new CustomArray(); a.push(10);
Юникод
ES6:
console.log("\uD842\uDFD7")
Для более глубокого изучения ES6 посетите: https://www.javatpoint.com/es6.
Наслаждаться!