语言支持

    Cocos Creator 支持 TypeScript 4.1.0。在此基础上,做了以下限制:

    • 不会被读取。每个项目都隐含着如下选项:

      隐含的 isolatedModules 选项意味着:

      • 不支持 const enums

      • 重导出 TypeScript 类型和接口时应该使用 export type。例如使用 export type { Foo } from './foo'; 而不是 export { Foo } from './foo';

    • 不支持 export =import =

    • 同一命名空间的不同声明不会共享作用域,需要显式使用限定符。

    • 编译过程中的类型错误将被忽略。

    编译时不会读取 tsconfig.json,意味着 tsconfig.json 的编译选项并不会影响编译。

    开发者仍然可以在项目中使用 tsconfig.json 以配合 IDE 实现类型检查等功能。为了让 IDE 的 TypeScript 检查功能和 Creator 行为兼容,开发者需要额外注意一些事项,详情可参考 。

    JavaScript

    Creator 支持的 JavaScript 语言规范为 ES6。

    此外,以下几项更新于 ES6 规范的语言特性或提案仍旧在支持之列:

    特别地,Creator 目前支持 Legacy 装饰器提案,其具体用法和含义请参考 。由于该 提案 仍处于阶段 2,引擎暴露的所有装饰器相关功能接口都在以下划线开头的 _decorator 命名空间下。

    Creator 开放了部分编译选项,这些选项将应用到整个项目。

    从用户的角度来说,Creator 未绑定任何 JavaScript 实现,因此建议开发者严格依照 JavaScript 规范编写脚本,以获取更好的跨平台支持。

    举例来说,当希望使用 全局对象 时,应当使用标准特性 globalThis

    而非 windowglobalselfthis

    再如,Creator 未提供 CommonJS 的模块系统,因此以下代码片段会带来问题: