【发布时间】:2021-07-05 05:29:41
【问题描述】:
我正在从 Angular 8.2 升级到 9.1,我正在尝试将私有字段更改为 #fieldName: any,这是 TS 3.8 允许的,而不是 private fieldName: any。我得到编译器错误提示
私有标识符仅在面向 ECMAScript 2015 及更高版本时可用。
tsconfig.json:
{
"compilerOptions": {
"module": "esnext"
"target": "es2015",
}
}
package.json:
"devDependencies": {
"typescript": "3.8.3"
}
【问题讨论】:
-
呃,错误信息是错误的,因为 ES2015 确实 not 有私有标识符。编辑:显然我也看不懂,因为它是 TS 编译器...
-
@VLAZ 是否有来源表明 ES2015 没有私有标识符这一事实? ????
-
@duhaime private fields are a Stage 4 proposal(在表中的“类字段”下检查)因此不能在规范中。说到the 2015 spec does not contain them,也没有the released spec - ES2021/ES12。私有字段包含在 the latest draft 中,因此预计它们将出现在即将发布的 ES2022/ES13 规范中。
标签: angular typescript angular9