You don't know js(up & going)
Download 424.95 Kb. Pdf ko'rish
|
You don\'t know JS(up & going)
- Bu sahifa navigatsiya:
- ____________________________________________________________________
- Не-JavaScript
____________________________________________________________________
function foo(a = 2 { console.log( a ); } foo(); // 2 foo( 42 ); // 42 ____________________________________________________________________ Просто, правда? Еще и полезно! Но это как раз новый синтаксис, который будет считаться невалидным в до-ES6 движках. Так что же транспилятор сделает с этим кодом, чтобы заставить его работать в более старых движках? ____________________________________________________________________ function foo() { var a = arguments[0] ! (void 0 ? arguments[0] : 2; console.log( a ); } ____________________________________________________________________ Как видите, он проверяет, равно ли значение `arguments[0]` значению `void 0` (т.е. `undefined`); если да, то предоставляет значение по умолчанию `2`, иначе он присваивает то, что было передано. В дополнение к тому, что теперь можно использовать привлекательный синтаксис даже в старых браузерах, транспилированный код фактически делает заданное поведение яснее. Возможно, просто глядя на версию ES6, вы не задумывались, что `undefined` — единственное значение, которое не может быть явно задано значением по умолчанию для параметра, но транспилированный код показывает это гораздо яснее. Последняя важная деталь о транспиляторах: о них следует думать как о стандартной части экосистемы и процесса разработки. JavaScript будет продолжать эволюционировать намного быстрее, чем прежде, поэтому каждые несколько месяцев будут добавляться новый синтаксис и новые возможности. Если вы по умолчанию используете транспилятор, вы в любой момент времени можете переключиться на новый синтаксис, нежели годами ждать выхода сегодняшних браузеров из использования. Есть довольно много отличных транспиляторов на выбор. Вот несколько из них на момент написания этого текста: ● Babel (https://babeljs.io) (бывший 6to5 Транспилирует из ES6 в ES5 ● Traceur (https://github.com/google/traceur-compiler): Транспилирует из ES6, ES7 и далее в ES5 Не-JavaScript На данный момент, мы рассмотрели только вещи, касающиеся самого языка JS. Реальность такова, что большая часть JS написана для запуска и взаимодействия с такими средами как браузеры. Добрая часть вещей, которые вы пишете в своем коде, строго говоря, не контролируется напрямую JavaScript. Возможно это звучит несколько странно. Самый распространенный не-JavaScript JavaScript, с которым вы столкнетесь — это DOM API. Например: Download 424.95 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling