자바스크립트 enum 사용하기 Object.freeze()

  • 자바스크립트 enum과 같은 변수를 만들기 위해서 Object.freeze()를 사용할 수 있다.
const obj = {
  a: 1,
  b: 2,
}

obj.a = -1;

console.log(obj); // {"a": -1, "b": 2}

Object.freeze(obj);

obj.b = -2;

console.log(obj); // {"a": -1, "b": 2}
  • 위와 같이 Object.freeze()를 적용하면, 더 이상 객체의 프로퍼티가 수정되지 않는다.
  • Object.isFrozen() 메서드를 통해서 이 객체가 freeze 되었는지 판별할 수 있다.
console.log(Object.isFrozen(obj)); // true

참고자료 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze

 

Object.freeze() - JavaScript | MDN

Object.freeze() 메서드는 객체를 동결합니다. 동결된 객체는 더 이상 변경될 수 없습니다. 즉, 동결된 객체는 새로운 속성을 추가하거나 존재하는 속성을 제거하는 것을 방지하며 존재하는 속성의

developer.mozilla.org

 

  • typescript를 사용하면, enum을 사용할 수 있다.
enum country {
  KOR = 'korea',
  FRA = 'france',
}