비실이의 개발 성장기

javascript Symbol 알아보기 본문

프론트엔드/javascript

javascript Symbol 알아보기

DubbingLee 2020. 6. 6. 01:08

# Symbol 이란?

  • symbol 은 우리말로 '상징, 고유' 의 의미를 가집니다.

  • javascript Symbol 은 ES6 에 추가 된 primitive data type 입니다.

  • Symbol() 을 통해 생성된 값은 유일무이한 값이 됩니다.

 

# Symbol 참고할 사항

  • for...in 문과 같이 객체의 property 를 열거하는 문법을 사용하는 경우, Symbol 속성은 열거되지 않습니다.

  • Symbol 값을 key 로 하는 객체의 속성에 접근하고자 하는 경우, 객체[Symbol 값] 으로만 접근이 가능합니다.   

Symbol 값을 key 로 하는 객체의 속성에 접근하여 값을 수정하는 코드 

 

 

# Symbol 을 활용하는 경우

  • 객체의 속성 key 를 Symbol 값으로 하여 해당 속성을 고유하게 관리하고자 하는 경우

 

# Symbol 이 활용되고 있는 부분

  • Array.prototype 객체의 Symbol.iterator 속성

    • for...of 문을 사용해 Array 객체를 순회할 수 있는 이유는 Array 가 iterator 객체이기 때문입니다.

    • 만약 Array.prototype 에 Symbol.iterator 속성을 임의로 변경시킨다면 Array 는 더이상 iterable 한 객체가 아니게 됩니다.

    • Array.prototype 의 Symbol.iterator 속성에 접근하기 위해 built-in Symbol 인 Symbol.iterator 를 사용했습니다.

Array.prototype 객체의 Symbol.iterator 속성을 임의로 변경시킨 결과

 

 

# 참고문서 및 영상

 

Symbol

Symbol() 함수는 심볼(symbol) 형식의 값을 반환하는데, 이 심볼은 내장 객체(built-in objects)의 여러 멤버를 가리키는 정적 프로퍼티와 전역 심볼 레지스트리(global symbol registry)를 가리키는 정적 메서드

developer.mozilla.org

 

 

 

# 잘못된 내용은 댓글 남겨주세요.

0 Comments
댓글쓰기 폼