Аксессоры доступны только при использовании ECMAScript 5 и выше

Я пытаюсь запустить этот код, но он дает мне следующие ошибки:

Animal.ts(10,13): ошибка TS1056: Аксессоры доступны только тогда, когда ориентируясь на ECMAScript 5 и выше. Animal.ts(14,13): ошибка TS1056: Аксессоры доступны только при настройке ECMAScript 5 и выше.

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";
    }
}

Ответ 1

Единственное, что работает для меня, это указать Target на macOS.

tsc --target 'ES5' script.ts

Вы можете запустить команду на своем терминале.

Ответ 2

попробуйте настроить файл tsconfig.json в вашем проекте:

{
  "compilerOptions": {
  "target": "es5"
  }
  "files": []
}

который сообщит компилятору typescript для конкретной цели.

Ответ 3

В Windows

tsc --target es5 filename.ts

могут быть: "es3", "es5", "es6", "es2015", "es2016", "es2017", "esnext". (без '')

Ответ 4

У меня была такая же проблема, пытаясь скомпилировать код TypeScript с кодом Visual Studio. Это решило проблему:

1) tsconfig.json - добавьте target в compilerOptions:

{
    "compilerOptions": {
        "target": "es5",  // <-- here!
        "module": "commonjs",
        "sourceMap": true
    }
}

2) tasks.json - добавьте аргумент target:

{
    "version": "2.0.0",
    "tasks": [
        {
            "taskName": "build",
            "type": "process",
            "command": "tsc",
            "args": [
                "ts/Program.ts",
                "--outDir", "js",
                "--sourceMap",
                "--watch",
                "--target", "es5"  // <-- here!
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always"
            },
            "problemMatcher": "$tsc"
        }
    ]
}

Ответ 5

У меня была такая же проблема. То, что я читал из docs, заключается в том, что файл tsconfig.json игнорируется, если вы указываете файлы.

введите описание изображения здесь

Мой файл tsconfig.json

{
  "compilerOptions": {
    "target": "es5"
  },
  "include": [
    "*.ts"
  ]
}

И я запускаю его из командной строки

tsc && node *.js

Ответ 6

Использование Visual Stido 2017?
1- Обозреватель решений > Щелкните правой кнопкой мыши по проекту
2- Добавить > Новый элемент
3- (раздел поискa > введите это > typescript)
4- Выберите "TypeScript файл конфигурации Json"

thats it
в конце этих шагов, tsconfig.json будет добавлен в проект с настройкой по умолчанию, примененным к ES5

вам ничего не нужно менять. просто перекомпилируйте свой проект и получите ошибку.