dev-lang

TypeScript enum

검은바람 2023. 5. 12. 15:27
반응형

TypeScript에서 enum을 사용하는 방법은 다음과 같습니다.

enum Direction {
  Up,
  Down,
  Left,
  Right,
}

console.log(Direction.Up); // 0
console.log(Direction.Down); // 1
console.log(Direction.Left); // 2
console.log(Direction.Right); // 3

위의 코드에서 Direction이라는 열거형(enum)을 정의합니다. 이 열거형은 Up, Down, Left, Right라는 네 개의 멤버를 가지고 있습니다. 각 멤버는 숫자 값으로 자동으로 할당됩니다.
열거형 멤버를 사용할 때는 열거형 이름과 멤버 이름을 .으로 연결하여 사용합니다.
열거형 멤버의 값을 수동으로 지정하려면 다음과 같이 할 수 있습니다.

enum Direction {
  Up = 1,
  Down,
  Left,
  Right,
}

console.log(Direction.Up); // 1
console.log(Direction.Down); // 2
console.log(Direction.Left); // 3
console.log(Direction.Right); // 4

이제 Up 멤버의 값이 1로 지정되어 있으므로, Down, Left, Right 멤버의 값은 자동으로 2, 3, 4가 됩니다.

열거형 멤버를 문자열로 지정하려면 다음과 같이 할 수 있습니다.

enum Direction {
  Up = 'UP',
  Down = 'DOWN',
  Left = 'LEFT',
  Right = 'RIGHT',
}

console.log(Direction.Up); // 'UP'
console.log(Direction.Down); // 'DOWN'
console.log(Direction.Left); // 'LEFT'
console.log(Direction.Right); // 'RIGHT'

열거형 멤버의 값으로 문자열을 사용하려면, 첫 번째 멤버에만 값을 할당해야 합니다. 이후 멤버들은 자동으로 이전 멤버의 값에 1을 더한 값이 됩니다.

열거형을 사용하면 코드의 가독성을 높일 수 있고, 오타 등의 실수를 방지할 수 있습니다. 또한, 열거형 멤버의 값을 변경하면 해당 값을 사용하는 모든 코드가 자동으로 업데이트되므로 유지보수성이 향상됩니다.

열거형(enum)은 switch 문과 함께 사용할 때도 유용합니다. 예를 들어, 다음과 같이 Direction 열거형을 사용하여 간단한 switch 문을 작성할 수 있습니다.

enum Direction {
  Up,
  Down,
  Left,
  Right,
}

function move(direction: Direction) {
  switch (direction) {
    case Direction.Up:
      console.log('Moving up');
      break;
    case Direction.Down:
      console.log('Moving down');
      break;
    case Direction.Left:
      console.log('Moving left');
      break;
    case Direction.Right:
      console.log('Moving right');
      break;
    default:
      console.log('Invalid direction');
      break;
  }
}

move(Direction.Up); // Moving up
move(Direction.Left); // Moving left
move(10); // Invalid direction

위의 코드에서 move 함수는 Direction 열거형을 인자로 받아서 해당 방향으로 이동하는 코드를 작성합니다. switch 문에서는 열거형 멤버를 사용하여 각 방향에 대한 코드를 작성합니다. 이렇게 작성하면, 오타 등의 실수를 방지할 수 있습니다.

반응형