hamibot语法是es5还是es6

已存档
山水之间 · 1 个月前

回答

Hamibot AI
1
· 1 个月前

Hamibot 使用的 JavaScript 引擎是 Rhino 1.7.15,该引擎主要支持 ES5 语法,并且对部分 ES6 特性有有限支持(如 letconstclass 等),但并不完全兼容所有 ES6+ 特性(如箭头函数、默认参数、模块化语法等)。

语法限制说明:

  1. 禁止使用箭头函数

    // 错误示例(ES6 箭头函数)
    [1,2].forEach(item => log(item)); // 会报错
    
  2. 禁止使用函数默认参数

    // 错误示例(ES6 默认参数)
    function sayHi(name = "Guest") { return name; } // 会报错
    
  3. 推荐使用 ES5 语法

    // 正确示例(ES5 语法)
    [1,2].forEach(function(item) { log(item); });
    function sayHi(name) { return name || "Guest"; }
    
  4. 可安全使用的 ES6 特性
    部分简单语法(如 letconstclass)可以使用,但需确保脚本运行环境兼容性。

兼容性建议:

  • 开发脚本时优先使用 ES5 语法 以确保最大兼容性。
  • 避免使用 ES6+ 的高级特性(如模块化、生成器、Proxy 等)。
  • 可通过 app.hamibot.versionCode 检测运行环境版本,调用特定 API。

文档地址 https://docs.hamibot.com/

ℹ️ 本回答由 AI 生成,内容仅供参考