ArkTS要求所有字段在声明时或者构造函数中显式初始化。这和标准TS中的strictPropertyInitialization模式一样。 以下代码是在ArkTS中不合法的代码。 代码语言:javascript 复制 classPerson{name:string// undefined setName(n:string): void { this.name = n; } getName(): string { // 开发者使用"string"作为返...
如何实现一个 ts type checker? 我基于 babel 实现了一个简单版的,分享一下思路。编译的第一步是把代码 parse 成 AST(抽象语法树),我们对代码进行类型检查,也就是检查这个 AST 的结构是否符合预期。代码中有嵌套的作用域(scope)的概念,AST 中相应的也会有,不同的作用域内保存着变量声明以及变量的值和类型的...