밍부스07) Symbol..그래서 오ㅐ쓰는건데..?

minji jeon·2022년 7월 20일
0

TIL_

목록 보기
26/61
post-thumbnail

일단 오늘의 OOTD먼저 자랑하고 시작할게염(❁´◡`❁)


오늘은 열공하겠다는 의미로 박사님st
main컬러는 yellow..
funky한 헤어스타일은 포인트..
잇츠굳~!~

알고리즘이 하하 난이도에서 중으로 넘어가니 3시간동안 1문제밖에 못풀었다.
이거 풀다 막혀서 저거풀다 하니 결국 한문제뿐...
ㅎ ㅏ 못푼 3문제 풀러 가야대는데 나의 정신이 문제를 거부한다....

오늘은 어제와 같이 하루종일 컴퓨터 앞에 앉아있었는데 공부한게 별로 없는 느낌이다.
but 숙제를 완료했으니. 그것에 의의를 두겠다...
이틀간의 대장정이었던 자바스크립트 과제...
-->자바스크립트 중요개념정리

오늘의 목표는 호이스팅 마스터하기..마스터 하고 잘거다 꼭...


과제하다 궁금해서 추가적으로 공부한 심벌...

Symbol 타입

심벌은 es6에서 도입된 7번째 데이터타입으로 변경 불가능한 웝시타입의 값이다.
다른 값과 중복되지 않는 유일무이한 값이다. 따라서 주로 일므의 충돌위험이 없는
유일한 프로퍼티 키를 만들기 위해 사용된다.
심벌값은 암묵적으로 문자열이나 숫자 타입으로 변환되지 않는다.

불리언, undefined등의 값은 리터럴 표기법을 통해 생성가능하나,심벌값은 symbol함수를 호출하여야 한다.

ex)

const mySymbol = Symbol()
console.log(typeof mySymbol)  //symbol\

이 심벌값은 외부로 노출되지 않음--> 확인할 수 없다. 다른값과 절대 중복되지 않는 유일무이한 값이다.

심벌매서드

Symbol.for
전역 심벌레지스트리에서 해당 키와 일치하는 심벌 값을 검색한다.
검색에 성공시 새로운 심벌 값을 생성하지 않고 검색된 심벌값을 반환.
검색 실패시 키로 전역 심벌 레지스트리에 저장한 후, 생성된 심벌값을 저장한다.
--> Symbol.for 매서드를 사용하면 전역에서 중복되지 않는 유일무이한
상수인 심벌값을 단 하나만 생성한다.

그래 알겠어 근데 이거 어디에 쓰는건데..? 왜만들었는데..?


https://www.youtube.com/watch?v=11HkEyCrriE
아하 ...나만 이런생각을 한게아니군 ..휴....

그냥 문자열을 사용해도 되지만 심벌을 사용하는 이유는
--> 코드의 가독성(마크업효과): 이변수는 중복되지 않으며, 노출되어있지 않습니다.
-->안전하게 사용: 상속되어 중복되는 문제에서 벗어날 수 있다.
-->코드규모가 큰 프로젝트에서 주로 사용됨.

profile
은행을 뛰쳐나와 Deep Dive in javascript

0개의 댓글