enum,네이티브객체, 호스트객체

김하은·2023년 5월 4일
0

Enum

enum타입은 상수값으로 사용될 값들을 모아놓은 열거형식이다.

  • 코드가 단순해지고 가독성이 좋아진다.
  • enum이란 이름 자체로, 열거 의도를 나타낸다.
  • 하나의 변수에 대한 고정값으로 사용 가능하다
// 아무것도 지정하지 않은 경우에는 0부터 숫자를 매깁니다. 
enum MOBILE_OS {
  IOS, // 0
  ANDROID // 1
}

// 임의의 숫자나 문자열을 할당할 수도 있습니다
enum MOBILE_OS {
  IOS = 'iOS',
  ANDROID = 'Android'
}

이런식으로 만들어두면 해당 값을 고정시킬 수 있어 외부에서 변경이 불가능하다.
굳이 enum을 쓰지 않더라고 자바스크립트의 Object.freeze(객체명) 으로 한다면 한번 선언된 객체의 값을 변경하지 못하게 할 수도 있다.

좀 더 조사해보니 enum 타입은 타입스크립트에서 제공되는 타입인데 컴파일 시 문제가 생긴다고한다. 차라리 유니온 타입을 사용할 것이 권장되는듯 하다.
아니면 자바스크립트의 Object.freeze(객체명) 를 사용하자. 필요하다면.

네이티브객체

ECMS 명세에 의미론적인 부분을 완전히 정의해 놓은 부분.

  • Object
  • Function
  • Date
  • Math
  • parseInt
    등이 있다.

호스트 객체

자바스크립트를 실행하는 환경에 종속된 객체.
그 환경에서만 찾을 수 있는 객체이다.

  • window
  • document
  • location
  • XMLHttpRequest
  • querySelectorAll

등이 있다..

0개의 댓글