Node.js ECMAScript 5及更高版本的访问器

Node.js ECMAScript 5及更高版本的访问器,node.js,typescript,Node.js,Typescript,这是我的代码: class Customer { private cFirstName: string; private cLastName: string; constructor(firstname: string, lastname: string) { this.cFirstName = firstname; this.cLastName = lastname; } /*Creating Acessors as g

这是我的代码:

class Customer {
    private cFirstName: string;
    private cLastName: string;
    constructor(firstname: string, lastname: string) {
        this.cFirstName = firstname;
        this.cLastName = lastname;
    }

    /*Creating Acessors as getters and setters can be
    done this way */


    public get firstName(): string {
        return this.cFirstName;
    }
    public get lastName(): string {
        return this.cLastName;
    }

    public set firstName(fn: string) {
        this.cFirstName = fn;
    }

    public set lastName(ln: string) {
        this.cLastName = ln;
    }

}

let myCustomer5 = new Customer("Leo", "Familiaris");



console.log("*****************************************")
console.log(`the lion scientific name:\n ${myCustomer5.lastName} ${myCustomer5.firstName}  .`);
然后当我尝试时:

$ tsc my_file_name.ts
我犯了那4个错误 访问器仅在以ECMAScript 5及更高版本为目标时可用。我使用的是Vscode最新版本和npm 6.13.4,那么问题出在哪里呢?

您需要指定一个大于ES5的版本。这将告诉TypeScript编译代码将在哪个JavaScript运行时版本上运行。出于历史原因,默认目标是
es3
,它不支持许多较新的JS功能

可以在命令行上使用以下命令指定目标:

tsc——目标es2020 my_file.ts`
或者通过创建指定目标的tsconfig:

{
“编译器选项”:{
“目标”:“es2020”
},
}

谢谢您的回答,答案很清楚,工作正常。