Рубрика:
Разработка /
Особенности языка
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
КИРИЛЛ СУХОВ, веб-программист в дистрибьюторской компании MICS. Занимается проектированием и разработкой различных интернет-сервисов. Круг интересов веб-технологии, RIA, Framework-среды, sukhov-kirill@yandex.ru
JavaScript – есть будущее
JavaScript – язык, первая версия которого была написана за десять дней и который завоевал мир. Но информационные технологии развиваются
ECMAScript 5 – уже стандарт
Последняя реализация стандарта ECMA-262 – ECMAScript 5 утверждена в 2009 году. Надо сказать, что изменения, внесенные в спецификацию и воплощенные затем во многих современных реализациях JavaScript, были не революционны, но очень востребованы. Поскольку утверждение стандарта практически совпало с рождением платформы Node.js, в последней все новые возможности были доступны «из коробки». А вот браузеры были менее расторопны, хотя сейчас уже можно говорить о всеобъемлющей поддержке стандарта. Давайте кратко пройдемся по новшествам ECMAScript 5, чтобы оценить, что привнесено в JavaScript спустя 10 лет поле утверждения предыдущей версии (ECMAScript 3 – утвержден в 1999 году). Заодно, если вы по каким-то причинам не знаете новых возможностей языка, самое время их освоить (лучше поздно, чем никогда)
Всякие строгости – Strict Mode в JavaScript
Этого точно никто не ожидал. «Строгий режим», знакомый любому Perl-программисту, теперь доступен и в JavaScript, и в Perl. Strict Mode накладывает ограничения на некоторые «вольности» языка, отсекает потенциальные опасности, спасает от ошибок.
Сам ECMAScript 5 обратносовместим с ECMAScript 3 со всеми его «особенностями», в том числе и с теми, которые «не рекомендуются». В строгом режиме они будут выбрасывать исключения или просто отключены.
Чтобы начать писать JavaScript-программу в «строгом» стиле, достаточно включить в начало сценария одну строку:
"use strict";
Хотя можно и не поступать так радикально, ограничившись одной функцией:
function foo(){
"use strict"
................
}
При этом на все вложенные функции Strict Mode тоже распространиться. Но не наружу.
Теперь давайте начнем нарушать правила. Будем плохими парнями!
"use strict";
foo = "bar";
Результат:
$ node ecma.js
foo = "bar";
^
ReferenceError: foo is not defined
at Object.<anonymous> (C:\Users\Geol\node\ecma\ecma1.js:2:5)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
Ну вот, нам запретили сделать самую невинную вещь – присвоить значение необъявленной переменной. Не будь подключен режим Strict Mode, мы бы получили новую глобальную переменную, а так только ошибку. И это на самом деле очень хорошо!
Статью целиком читайте в журнале «Системный администратор», №11 за 2014 г. на страницах 65-73.
PDF-версию данного номера можно приобрести в нашем магазине.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|