Búsqueda de sitios web

javascript - Los accesores solo están disponibles al apuntar a ECMAScript 5 o superior


Estoy intentando ejecutar este código, pero me está dando los siguientes errores:

Animal.ts(10,13): error TS1056: Los accesores solo están disponibles cuando se apunta a ECMAScript 5 o superior. Animal.ts(14,13): error TS1056: Los accesores solo están disponibles cuando se apunta a ECMAScript 5 o superior.

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

Respuesta #1

Lo único que funcionó para mí fue especificar el Target en macOS y Windows. Por favor, ten en cuenta que el parámetro -t representa Target.

tsc -t es5 script.ts

Puedes ejecutar el comando en tu terminal.

Respuesta #2

Intenta configurar un archivo tsconfig.json en tu proyecto:

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

Eso le dirá al compilador de TypeScript que apunte a una versión específica.

Respuesta #3

Tenía el mismo problema. Lo que leí en la documentación es que el archivo tsconfig.json se ignora si especificas los archivos.

Mi archivo tsconfig.json

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

Y lo ejecuto desde la línea de comandos

tsc && node *.js

Respuesta #4

Si estás trabajando con un archivo único, podrías hacer esto:

tsc your-file.ts --target ES2016 --watch

Si lo quieres dentro de tu tsconfig.json para la configuración de todo el proyecto:

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

Es posible que desee usar ya sea el numérico de ECMAScript "es6", "es7", "es8" o el año de lanzamiento, como "ES2015", "ES2016", "ES2017".

ESNext apunta a las últimas características propuestas de ES que son compatibles.

Artículos relacionados