Enum과 객체 리터럴의차이 알아보기

yujin·2023년 12월 19일
0
post-thumbnail

Enum과 객체 리터럴의 차이 알아보기


1. Enum과 객체 리터럴이란?

EnumTypeScript에서 제공하는 특별한 타입으로, 여러 상수 값을 묶어서 사용할 수 있게 해준다. 객체 리터럴JavaScript의 기본 문법으로, 중괄호 {}를 사용하여 객체를 생성하고, 이 안에 키-값 쌍을 정의한다.

2. Enum과 객체 리터럴의 특징

Enum

  • Enum은 상수를 논리적으로 그룹화하여 사용할 수 있다.
  • Enum의 멤버들은 숫자와 문자열 값 모두 가능하다.

객체 리터럴

  • 객체 리터럴은 키-값 쌍을 가지는 구조로, JavaScript에서 가장 자주 사용하는 데이터 구조다.
  • 객체 리터럴의 키는 문자열이거나 심볼이며, 값은 어떠한 타입도 가능하다.

3. Enum과 객체 리터럴의 사용법

Enum 사용법

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

let dir: Direction = Direction.Up;

객체 리터럴 사용법

let user = {
  name: "John",
  age: 30,
};

let key = "name";
console.log(user[key]); // John

4. Enum과 객체 리터럴의 장단점

Enum의 장점

코드의 가독성

  • Enum을 사용하면, 코드의 가독성을 높일 수 있다.

Enum의 단점

JavaScript 호환성

  • Enum은 TypeScript에서만 지원하는 문법으로, JavaScript에서는 사용할 수 없다.

객체 리터럴의 장점

유연성

  • 객체 리터럴은 키-값 쌍을 자유롭게 추가하거나 변경할 수 있어 유연성이 높다.

객체 리터럴의 단점

타입 안전성

  • 객체 리터럴은 타입스크립트에서 제공하는 타입 체킹을 받을 수 없으므로, 타입 안전성이 떨어진다.

5. Enum과 객체 리터럴의 차이

  • Enum은 TypeScript에서만 지원하는 특별한 타입으로, 상수를 논리적으로 그룹화할 수 있다. 반면 객체 리터럴은 JavaScript의 기본 문법으로, 키-값 쌍을 가지는 구조다.
  • Enum은 코드의 가독성을 높이는 반면, 객체 리터럴은 유연성이 높다.
  • 객체 리터럴은 키-값 쌍을 자유롭게 추가하거나 변경할 수 있지만, Enum의 멤버는 선언 시에 정의된 값만 가질 수 있다.
  • Enum은 TypeScript에서만 지원하는 특별한 타입으로, JavaScript에서는 사용할 수 없다. 반면 객체 리터럴은 JavaScript의 기본 문법이며, 모든 JavaScript 환경에서 사용할 수 있다.
  • 객체 리터럴은 타입스크립트에서 제공하는 타입 체킹을 받을 수 없으므로, 타입 안전성이 떨어진다. 반면 Enum은 TypeScript의 타입 체킹을 받으므로, 타입 안전성이 높다.
profile
고통 받는 코딩일기

0개의 댓글