枚举的打字稿子集

问题描述

在打字稿中,我有一个类似的枚举

export enum CarBrands {
   Toyota = "TOYOTA"
   Ford = "FORD"
   .....
}

我想像这样创建这个枚举的一个子集,但似乎无法做到

enum JapaneseCars {
    CarBrands.Toyota
}

或创建一个带有子集的对象

const JapaneseCars = {
    Carbrands.Toyota
}

无论如何我可以创建一个使用另一个现有枚举中的值的对象或枚举吗?

我无法将 CarBrands 枚举更改为其他数据类型

解决方法

我认为你正在寻找这样的东西 -

export enum CarBrands {
  Toyota = "TOYOTA",Ford = "FORD"
}

type JapaneseCars = CarBrands.Toyota;

const car: JapaneseCars;
,

你可以为每个枚举成员创建一个变量,如果你有很多枚举成员,这会很乏味,但它看起来像这样。

export enum CarBrands {
    Toyota = "TOYOTA",Ford = "FORD"
}

const Toyota = CarBrands.Toyota;
console.log("The Supra is made by",Toyota)

或者你可以使用一个简单的方法

class JapaneseCar {
    make: string;
    // Additional Methods / Properties

    setMake(brand:CarBrands){
        this.make = brand;
    }
}

const ToyotaSupra = new JapaneseCar();
ToyotaSupra.setMake(CarBrands.Toyota);
console.log(ToyotaSupra.make)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...