访问器仅在针对 ECMAScript 5 及更高版本时可用

访问器仅在针对 ECMAScript 5 及更高版本时可用

Accessors are only available when targeting ECMAScript 5 and higher

要解决错误“Accessors are only available when targeting ECMAScript 5 and higher”,请在您的文件中将target属性设置为在运行命令时使用标志。es6tsconfig.json--target es6tsc

访问器仅在针对 ecmascript 时可用

下面是错误如何发生的示例。

索引.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属性为es6intsconfig.json

要解决该错误,请
tsconfig.json
target文件中将属性设置为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 的错误
,请单击链接并按照说明进行操作。

额外资源

您可以通过查看以下教程来了解有关相关主题的更多信息: