Typescript - Class Instance变量作为访问器到Set中的第一个值

15 浏览
0 Comments

Typescript - Class Instance变量作为访问器到Set中的第一个值

这个问题已经有了答案

在TypeScript中获取和设置

在Typescript类中,你能不能指定一个实例变量作为访问Set中第一个值的快捷方式?

我想做的是像这样:

export class Car {
    public gears: Set;
    public gear: string => gears?.values().next().value; // doesn't work
    constructor() {
        gears = new Set(["N", "First", "Second", "Third", "Fourth"]);
    }
}

用法:

var car = new Car();
console.log(car.gear); // => "N"

我知道你可以用一个函数来做:

public gear = (): string => gears?.values().next().value;

但是当你调用它的时候,你需要将它作为一个函数而不是一个实例变量来调用。

var car = new Car();
console.log(car.gear()); // => "N"

虽然这样可以工作,但语义上来说,gear是一个函数并不太理想。

我在问的这个东西在Typescript中可行吗?

admin 更改状态以发布 2023年5月23日
0
0 Comments

你正在寻找一个获取器 :

export class Car {
    public gears: Set;
    public get gear(): string {
        return this.gears.values().next().value
    }
    constructor() {
        this.gears = new Set(["N", "First", "Second", "Third", "Fourth"]);
    }
}

Playground

0