Accessors are only available when targeting ECMAScript 5 and higher
I am trying to run this code but it is giving me following errors:
Animal.ts(10,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. Animal.ts(14,13): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
interface IAnimal{
name : string;
sayName():string;
}
class AnimalImpm implements IAnimal{
private _name : string = '[Animal]';
get name():string{
return this._name;
}
set name(name:string){
this._name = name;
}
constructor(name:string){
this.name = name;
}
sayName():string {
console.log(`My name is ${this.name}`);
return "Hello";
}
}
Solution 1:
The only thing which worked for me was to specify the Target
on macOS and Windows. Please note the parameter -t
is standing for Target.
tsc -t es5 script.ts
You can run the command on your terminal.
Solution 2:
try setting up a tsconfig.json file in your project:
{
"compilerOptions": {
"target": "es5"
}
"files": []
}
that will tell the typescript compiler to target a version specifically.