holdanddeepdive/javascript-deep-dive

33장 Symbol

Opened this issue · 1 comments

  • enum
    • js에서는 지원 X
    • typescript에서는 지원 O
    • js에서 흉내내는 방법 : Object.freeze + Symbol값 사용
  • 표준빌트인 객체 확장(권장X)
    • Symbol을 사용해서 추가하면 재정의하는 것을 피할 수 있음
Array.prototype.find = function () {
  return "i don't wanna work lol";
};
const found = [1, 2, 3, 4].find();
console.log(found); // i don't wanna work lol
  • 하위호환성을 위해 도입됨

then이라는 프로퍼티로만 thenable을 판단하면 생기는 하위 호환문제