回答
Hamibot 使用的 JavaScript 引擎是 Rhino 1.7.15,该引擎主要支持 ES5 语法,并且对部分 ES6 特性有有限支持(如 let
、const
、class
等),但并不完全兼容所有 ES6+ 特性(如箭头函数、默认参数、模块化语法等)。
语法限制说明:
-
禁止使用箭头函数
// 错误示例(ES6 箭头函数) [1,2].forEach(item => log(item)); // 会报错
-
禁止使用函数默认参数
// 错误示例(ES6 默认参数) function sayHi(name = "Guest") { return name; } // 会报错
-
推荐使用 ES5 语法
// 正确示例(ES5 语法) [1,2].forEach(function(item) { log(item); }); function sayHi(name) { return name || "Guest"; }
-
可安全使用的 ES6 特性
部分简单语法(如let
、const
、class
)可以使用,但需确保脚本运行环境兼容性。
兼容性建议:
- 开发脚本时优先使用 ES5 语法 以确保最大兼容性。
- 避免使用 ES6+ 的高级特性(如模块化、生成器、Proxy 等)。
- 可通过
app.hamibot.versionCode
检测运行环境版本,调用特定 API。
ℹ️ 本回答由 AI 生成,内容仅供参考