[JavaScript] Symbol 정리

배똥회장·2022년 8월 4일

📝 개념

유일한 key를 생성할 수 있으며, key를 노출시키지 않고 감출 수 있는 것


📌 이해하기

let person = {
	firstName: "Jeremy",
	lastName: "Go",
	getFullName: function () {
		return this.firstName + " " + this.lastName;
	},
};

이 때, getFullName이 오브젝트의 기본 내장 함수로 추가되면 의도치 않은 충돌이 발생한다. 이를 방지하기 위해서 Symbol을 사용한다.


let person2 = {
	firstName: "Jeremy",
	lastName: "Go",
};

var getFullName = Symbol("getFullName");
person2[getFullName] = function () {
	return this.firstName + " " + this.lastName;
};

이럴 경우 getFullName에는 Symbol("getFullName")으로 유일한 key 값을 가진다.
console.log(getFullName); 을 입력하여도 출력은 Symbol(getFullName) 으로 나오기 때문에 어떤 key 값으로 생겼는지 알 수 없음

profile
어쩌면 개발자

0개의 댓글