Update 2015-10-23: as of React Native v0.13.0-rc const
is now enabled.
React Native's JavaScript environment is not a browser, instead it uses JavaScriptCore. Anything that isn't supported natively needs to be transformed down to a subset of JS that JavaScriptCore supports, and React Native uses Babel to do that. Here are the transformations that React Native uses (as of 2015-07-31):
ES5
- Reserved Words: promise.catch(function() { });
ES6
- Arrow functions
- Call spread
- Classes
- Destructuring
- Computed Properties
- Object Consise Method
- Object Short Notation
- Rest Params
- Template Literals:
ES7
- Object Spread
- Function Trailing Comma
It is not immediately clear to me why constants aren't included in this list, and it appears that support for overriding it still isn't quite ready:
https://github.com/facebook/react-native/issues/1451