вызывающе сосредоточиться на ES5.Проблема с функциями 1.7 и 1.8 заключается в том, что они изменяют синтаксис языка, поэтому вы не можете втиснуть их в другой код.
Вы можете эмулировать все свойства объекта с ES5, но вы не можете эмулироватьключевое слово let
.В других браузерах различные выражения просто недопустимы в javascript.
Вы должны различать создание дополнения к нативному коду, что и делает большинство ES5, и изменение синтаксиса javascript, как это делают 1.7 и 1.8.
Существует использование для 1.7& 1.8, которая должна быть разработана для платформы RHINO.Но для браузера javascript придерживаться спецификации.
По общему признанию, многократное возвращение значений - довольно приятная особенность.Было бы неплохо иметь такое присвоение массива
function() f {
return [1,2,3];
}
[a,b,c] = f()
Но другие функции являются довольно существенными изменениями в синтаксисе, и вы просто не можете протолкнуть их через ecmascript, они просто не справятся с этим.Небольшие изменения, как указано выше, возможно, вы сможете получить в ES6, но вам придется подождать не менее года.
Так что реально не ожидайте, что обучение окупится за год или два, если вообще будет.Скорее всего, это не окупится.Посмотрите на библиотеки, такие как underscore.js , которые могут определить общие методы функциональных утилит для вас.