Как определить Cordova / ионный JS против ES5 или ES6? - PullRequest
0 голосов
/ 29 марта 2019

Я всегда только что закодировал в Javascript и немного JQuery. В течение последних 2 лет я постоянно читаю о JS против ES5 против ES6 и вижу, что многие термины переходят на ESx. Также обратите внимание, что у меня никогда не было формального образования в области программирования, и я полностью самоучка, когда мне нужно «сделать это»

Я читал Википедию и другие публикации, но, честно говоря, я все еще немного сбит с толку, и теперь мне нужно докопаться до сути, потому что я пытаюсь минимизировать / укрупнить мои файлы, и процесс, который это делает, ломается и выводит 9 байтовые файлы "undefined". Однако большая часть документации по minify / uglify относится к ES5 или ES6, что сбивает меня с толку из-за того, как мне нужно исправить мой код, чтобы минимизировать / uglify работал.

Мой проект построен на Cordova 8.0 / Ionic v1 и развернут на Android (cordova-android 7.1.1) и iPhone (cordova-ios 4.5.1) - поэтому я не до конца уверен, какую версию JS я использую. Как я могу определить, что использует мой проект, и узнать, является ли его ES5 против ES6 ... или другим ... чтобы я мог правильно очистить его для минимизации и повышения?

1 Ответ

0 голосов
/ 29 марта 2019

JavaScript, как видно в браузерах, является реализацией ECMAScript , или "ES". Время от времени указывается новая версия ES, добавляющая новые функции в язык, объекты, к которым у вас есть доступ и т. Д. Например, вот как Википедия суммирует ES6 :

Шестое издание, официально известное как ECMAScript 2015, было завершено в июне 2015 года. Это обновление добавляет существенный новый синтаксис для написания сложных приложений, включая классы и модули, но определяет их семантически в тех же терминах, что и строгий режим ECMAScript 5. Другие новые функции включают в себя итераторы и циклы for / of, генераторы в стиле Python, функции стрелок, двоичные данные, типизированные массивы, коллекции (карты, наборы и слабые карты), обещания, улучшения числа и математики, отражение, прокси (метапрограммирование для виртуальных объектов). и обертки) и шаблонные литералы. Полный список обширен.

Теперь то, какие из этих функций реализованы в «JavaScript», который ваш браузер предоставляет вам, - это другая история. Это довольно сложно на самом деле - вот таблица, к которой вы можете обратиться, например, касающаяся функций ES6 .

Короче говоря, когда вы пишете приложение или веб-сайт Cordova, вы используете JavaScript, и в большинстве случаев безопасно использовать любые функции ES5, о которых вы читали. Для функций ES6, проверьте таблицу, которую я связал выше. Поскольку вы используете Cordova / Ionic, вам нужно больше всего смотреть на мобильные браузеры.

P.S. если вы действительно хотите использовать функцию ES6 или даже ES7, которая в настоящее время не реализована в браузере, который вы хотите поддерживать, вам может повезти с использованием Babel . Это JavaScript "препроцессор"; то есть он берет ваш код и преобразует его во что-то, что может лучше работать в старых браузерах; Точно так же минификация сохраняет ваш код таким же, только делает его меньше.

...