freeCodeCamp/guide/russian/javascript/es6/index.md

58 lines
2.4 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: ES6
localeTitle: ES6
---
## ES6
6-е издание ECMAScript называется ES6.
Он также известен как ES2015.
Изменения добавляют много синтаксического сахара, которые позволяют разработчикам создавать приложения в объектно-ориентированном стиле.
> Пример ES5:
```javascript
var User = function () {
function User(name) {
this._name = name;
}
User.prototype.getName = function getName(x) {
return 'Mr./Mrs. ' + this._name;
};
return User;
}();
```
> Пример ES6:
```javascript
class User {
constructor(name) {
this._name = name
}
getName() {
return `Mr./Mrs. ${this._name}`
}
}
```
Было введено множество новых синтаксических функций, включая:
* классы,
* модули,
* шаблонный,
* для / из петель,
* генераторные выражения,
* стрелки,
* коллекции,
* обещания.
В настоящее время большинство функций доступны во всех популярных браузерах. Таблица [совместимости](https://kangax.github.io/compat-table/es6/) содержит всю информацию о доступности функций всех современных браузеров.
Часто появляются новые функции, которые являются частью преемника ES7. Обычный способ - перевести современный JavaScript (ES6, ES7 и другие экспериментальные предложения) на ES5. Это гарантирует, что и старые браузеры могут выполнять код. Существуют такие инструменты, как [Babel,](https://babeljs.io/) который преобразует новый JavaScript в ES5.
Помимо синтаксического сахара, поступающего из стандартов ECMAScript, существуют функции, требующие [Polyfill](https://babeljs.io/docs/usage/polyfill) . Обычно они необходимы, потому что к стандарту добавлены целые реализации класса / метода.