인프런 커뮤니티 질문&답변

toby0806님의 프로필 이미지

작성한 질문수

함수형 프로그래밍과 JavaScript ES6+

Kleisli Composition - L.filter, filter, nop, take

Symbol 사용 이유

작성

·

380

0

안녕하세요. Symbol 사용 이유가 궁금해서 질문을 남기게 되었습니다.

const nop = Symbol("nop") 대신으로,

const nop = "nop";을 사용해도 정상 작동하는걸 확인했는데요,

1.혹시 Symbol("nop")을 사용하신 특별한 이유가 있을까요?

2.추가적으로 Symbol을 검색해도 명확히 설명 된 글을 찾지 못했습니다ㅠ. Symbol에 대해서 간단히 알려주실 수 있을까요?

답변 2

1

toby0806님의 프로필 이미지
toby0806
질문자

와..그 부분까지는 생각지도 못했네요..그런 깊은 뜻이 숨어있었군요...

항상 친절한 설명과 유익한 내용 감사합니다!

1

유인동님의 프로필 이미지
유인동
지식공유자

https://poiemaweb.com/es6-symbol

"Symbol 값도 객체의 프로퍼티 키로 사용할 수 있다. Symbol 값은 유일한 값이므로 Symbol 값을 키로 갖는 프로퍼티는 다른 어떠한 프로퍼티와도 충돌하지 않는다."

--

말씀하신대로 "nop"을 사용해도 동작은 합니다. 그러나 배열안에 ["no", "nop",  "ok"] 이런 값이 있다고 하면 "nop" 이라는 값이 실제로 거르기 위한 값인지 실제 필요한 값인지 애매해지는점 때문에 약속된 구분자로 사용하기 위해 Symbol 기능을 사용했습니다.

감사합니다. :)


toby0806님의 프로필 이미지

작성한 질문수

질문하기