Hermes 支持现代 JavaScript(ES6+)的大部分特性,让开发者可以使用最新的语言特性编写 React Native 应用。
支持的 ES6+ 特性
- 箭头函数:
const add = (a, b) => a + b; - 模板字符串:
`Hello, ${name}!` - 解构赋值:
const { name, age } = person; - 默认参数:
function greet(name = 'World') {} - 展开运算符:
const arr = [...oldArr, newItem]; - Promise:异步编程支持
- async/await:简化异步代码
- Map 和 Set:新的集合类型
- Symbol:新的原始类型
部分支持的特性
- Proxy:有限支持
- WeakRef:支持
- FinalizationRegistry:支持
不支持的特性
- eval():出于安全和性能考虑不支持
- with 语句:严格模式下不支持
TypeScript 支持
Hermes 可以直接执行 TypeScript 代码,无需预编译。React Native 的 Metro bundler 会自动处理 TypeScript 到 JavaScript 的转换。