Как стать автором
Обновить

Web 2.0, встречай JavaScript 2.0!

Время на прочтение2 мин
Количество просмотров5.1K
Автор оригинала: Jeremy Martin
Несмотря на то, что работа над спецификацией JavaScript 2.0 еще не закончена, обзор новых возможностей уже доступен в формате PDF. Разработчики надеются закончить спецификацию этой осенью.

Итак, некоторые вещи, которые будут нам доступны:


ООП
Наконец-то:
/* Создание псевдо-класса в JavaScript 1.x */
function Foo() {
  this.a = "a";
  this.b = "b";
}
var myFoo = new Foo();

/* Создание класса в JavaScript 2.0 */
class Bar {
  this.a = "a";
  this.b = "b";
}
var myBar = new Bar(); // class instantiation

Проверка типов во время компиляции:
Компоненты JavaScript 2.0 могут потребовать быть откомпилированными в так называемом strict mode. Это дает много преимуществ, например:
  • Проверка статических типов
  • Проверка существования упоминаемых имен
  • Сравнение двух переменных одного и того же типа
  • Запрет присвоения новых значений константам
Мы сказали константы?:
/* Константы в JavaScript 1.x */
var FOO = 'bar'; // смотри, я весь в верхнем регистре, так что пожалуйста, не меняй меня
/* Константы в JavaScript 2.0 */
const FOO = 'bar'; // попробуй, поменяй!

Переопределение операторов:
Теперь можно будет делать и много очень хороших, и немало очень плохих вещей. Операторы теперь работают так, как вы захотите.

Настоящие пространства имен:
В JavaScript 1.0 можно было эмулировать namespaces запихиванием разных вещей в глобальный обьект. Несмотря на то, что это не очень плохая практика, это не совсем правильное использование обьектов. Теперь для пространств имен будет свой отдельный синтаксис.

Загружаемые модули:
Создание отдельных модулей, которые не будут загружены пока не потребуются. У этого есть большой потенциал, помимо оптимизации траффика. Более серьезный плюс в том, что это шаг вперед к созданию структурированного, готового к повторному использованию кода библиотек.
use unit Person "http://mysite/library/classes/Person";
use unit DisplayUtil "http://mysite/library/utils/DisplayUtil";

var bob = new Person();
document.writeln(DisplayUtil.display(bob));

Заключение:
В текущей версии спецификации 40 страниц, там есть еще много вкусных вещей — если вас не затруднит чтение на английском. В целом JavaScript 2.0 обещает быть замечательным улучшением для всего интернета.
Теги:
Хабы:
Всего голосов 61: ↑58 и ↓3+55
Комментарии59

Публикации

Истории

Работа

Ближайшие события