Функции ES6 и ES7 без транспиляции Babel в React-Native?

Я хотел бы использовать синтаксис Javascript ES6 и ES7 (особенно async/await, мои новые лучшие друзья) без транспиляции. Это вообще вариант? И должен ли он быть вариантом?

Все зависит от подвопроса: какой движок Javascript эффективно использует react-native на Android и iOS? Это взято с самого устройства? (в этом случае транспиляция ЯВЛЯЕТСЯ единственным вариантом...) Или это предоставляется React Native?


person Merc    schedule 22.12.2017    source источник
comment
ES7 (ES2016) представил только две новые функции. async/await является частью ES2017.   -  person Felix Kling    schedule 22.12.2017
comment
Совершенно верно, он так и не появился в 2016 году. Придется начать использовать + после имен версий...   -  person Rich Churcher    schedule 23.12.2017


Ответы (1)


Вы можете с удовольствием использовать async/await в React Native (на самом деле вы могли это делать какое-то время... с версии 0.10). Что касается его использования без транспиляции, это немного более сложный вопрос. Для React Native требуется только Node v6 и выше, поэтому очевидно, что через Webpack/Babel выполняется значительная транспиляция, чтобы убедиться, что он по-прежнему работает со старыми версиями Node.

На устройстве развернута среда JavaScriptCore (см. JavaScript Environment для более подробной информации). Пока вы отлаживаете, вы используете V8 через Chrome.

person Rich Churcher    schedule 22.12.2017