JavaScript Environment
JavaScript Runtime
When using React Native for Kepler, you will always use Hermes, an open-source JavaScript engine optimized for React Native. On Kepler, we don't support using JavaScriptCore or Chrome (including V8) itself for tasks such as debugging.
Hermes is mainly used in the context of React Native and its roadmap follows the versions of React Native. Your Hermes version depends on the React Native version you are using, for example, 0.72.
JavaScript Syntax Transformers
Syntax transformers make writing code more enjoyable by allowing you to use new JavaScript syntax without having to wait for support on all interpreters.
React Native ships with the Babel JavaScript compiler. Check Babel documentation on its supported transformations for more details.
A full list of React Native's enabled transformations can be found in @react-native/babel-preset.
Transformation | Code |
---|---|
ECMAScript 5 | |
ECMAScript 2015 (ES6) | |
ECMAScript 2016 (ES7) | |
ECMAScript 2017 (ES8) | |
ECMAScript 2018 (ES9) | |
ECMAScript 2019 (ES10) | |
ECMAScript 2020 (ES11) | |
ECMAScript 2022 (ES13) | |
Stage 1 Proposal | |
Miscellaneous |
Polyfills
Many standard functions are also available on all the supported JavaScript runtimes.
Browser
- CommonJS
require
[console.{log, warn, error, info, trace, table, group, groupEnd}](https://developer.chrome.com/devtools/docs/console-api)
XMLHttpRequest
,fetch
{set, clear}{Timeout, Interval, Immediate}, {request, cancel}AnimationFrame
ECMAScript 2015 (ES6)
Array.from
Array.prototype.{[find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find), [findIndex](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex)}
Object.assign
String.prototype.{[startsWith](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith), [endsWith](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith), [repeat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat), [includes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes)}
ECMAScript 2016 (ES7)
Array.prototype.[includes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes)
ECMAScript 2017 (ES8)
Object.{[entries](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries), [values](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values)}
Specific
__DEV__
Last updated: Sep 30, 2025