DEV Community

Discussion on: Enum in typescript

Collapse
 
neriojnavea profile image
Nerio Navea • Edited

How about using typescriptlang.org/docs/handbook/e...

enum TerrainEnum {
    Meadow = 'MEADOW',
    Ocean = 'OCEAN',
    Forest = 'FOREST'
}

class Terrain {
  public static isValid = (value: string): boolean => (
    value === TerrainEnum.Meadow ||
    value === TerrainEnum.Ocean ||
    value === TerrainEnum.Forest
  );
}

in that case, you can set in the constructor that you expect TerrainEnum value e.g.

class Terrain {
  constructor(name: TerrainEnum) {
    this.name = name;
  }
}
Collapse
 
moseskarunia profile image
Moses Karunia

Hi thanks for your answer. I think I prefer to define it in 1 class only. Any other alternatives? :)