작성
·
380
0
안녕하세요. Symbol 사용 이유가 궁금해서 질문을 남기게 되었습니다.
const nop = Symbol("nop") 대신으로,
const nop = "nop";을 사용해도 정상 작동하는걸 확인했는데요,
1.혹시 Symbol("nop")을 사용하신 특별한 이유가 있을까요?
2.추가적으로 Symbol을 검색해도 명확히 설명 된 글을 찾지 못했습니다ㅠ. Symbol에 대해서 간단히 알려주실 수 있을까요?
답변 2
1
1
https://poiemaweb.com/es6-symbol
"Symbol 값도 객체의 프로퍼티 키로 사용할 수 있다. Symbol 값은 유일한 값이므로 Symbol 값을 키로 갖는 프로퍼티는 다른 어떠한 프로퍼티와도 충돌하지 않는다."
--
말씀하신대로 "nop"을 사용해도 동작은 합니다. 그러나 배열안에 ["no", "nop", "ok"] 이런 값이 있다고 하면 "nop" 이라는 값이 실제로 거르기 위한 값인지 실제 필요한 값인지 애매해지는점 때문에 약속된 구분자로 사용하기 위해 Symbol 기능을 사용했습니다.
감사합니다. :)