访问器仅在针对 ECMAScript 5 及更高版本时可用
Accessors are only available when targeting ECMAScript 5 and higher
要解决错误“Accessors are only available when targeting ECMAScript 5 and higher”,请在您的文件中将target
属性设置为或在运行命令时使用标志。es6
tsconfig.json
--target es6
tsc
下面是错误如何发生的示例。
索引.ts
class Employee { private _salary = 0; // ⛔️ Error: Accessors are only available when targeting ECMAScript 5 and higher.ts(1056) get salary() { return this._salary; } // ⛔️ Accessors are only available when targeting ECMAScript 5 and higher.ts(1056) set salary(salary: number) { this._salary = salary; } }
设置target
属性为es6
intsconfig.json
要解决该错误,请在
tsconfig.jsontarget
文件中将属性设置为。es6
tsconfig.json文件
{ "compilerOptions": { "target": "es6", // ... your other options } }
target选项更改哪些 JavaScript 特性被降级,哪些保持不变。
如果这不能解决错误,请尝试重新启动 IDE。VSCode 经常出现故障并需要重启。
ES6 是一个不错的选择,因为现代浏览器支持所有 ES6 特性。
target
使用标志设置选项
您还可以在使用tsctarget
命令时使用标志设置选项
。
壳
tsc src/index.ts --target es6
该target
选项会更改哪些 JS 功能降级,哪些不降级。例如,如果您使用箭头函数并以 ES5 或更低版本为目标,您的转译代码将使用函数表达式。
这通常会使您的代码性能降低并且更加冗长,但是,它能够在更旧的浏览器中运行。
如果您收到tsc is not recognized or not found 的错误
,请单击链接并按照说明进行操作。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: