Вітаємо JavaScript 2.0

JavaScript домінує в Інтернеті та ECMAScript, ядро ​​мови зростає. Нова специфікація (ES6 або JS2), яка очікується в середині цього року, містить у собі численні нововведення, які можна випробувати сьогодні. Наразі Firefox має найкращу підтримку , але можливі і полізаповнення за допомогою так званих транпіляторів, таких як Google Traceur . Далі наводиться короткий огляд нових функцій ES6.


Нове ключове слово let робить набагато краще, ніж var : Scoping тепер поводиться так само, як і в інших мовах (C / C ++, Java), саме тому блоки if-if тепер також мають власну область дії. Піднімання, тобто перенесення оголошень змінних (не присвоєння значень) у межах відповідної області також відновлюється:

console.log(x);
var x = 'foo'; 
// undefined

console.log(y);
let y = 'bar';
// not initialized

Кількість інших нововведень велика: константи (const), значення за замовчуванням для функцій (функція pow (a, b = 2) {return Math.pow (a, b);}), нове позначення функцій (нехай pow = (a, b = 2) => Math.pow (a, b);), безліч нових функцій (repeat (), містить (), startWith (), find (), findIndex ()), нова конструкція циклу для ... з.

Слід також зазначити новий набір типів даних, карту, проксі та символ, імпорт (частин інших) файлів JavaScript з імпортом та новий інтуїтивний синтаксис класів та успадкування. Часто є також невеликі, але довгоочікувані речі, такі як можливість розривів рядків у рядкових літералах (зверніть увагу на спеціальні лапки):

`foo

bar`

JavaScript давно став набагато більше, ніж інструментом для хитрощів невеликих веб-сайтів - він створює потужні, високопродуктивні веб-програми, які нічим не поступаються своїм настільним аналогам. Завдяки великій кількості корисних інновацій та підтримці, вже доступній від ES6, програмування вдвічі веселіше.

Хто не завжди хотів перевіряти рівність двох чисел за допомогою нової константи Number.EPSILON , значення якої є різницею між 1 і наступним вищим значенням з плаваючою комою?

let cmp = (a,b) => Math.abs(a-b) 
Назад