심볼

ironcat·2022년 1월 25일
0

javascript

목록 보기
3/6

심볼

참고 강의
코딩앙마님의 유튜브 강의를 듣고 공부 내용을 정리한 것입니다.

심볼

const a = Symbol();
const b = Symbol();

const id = Symbol('id');
const user = {
	name : 'Mike',
  	age : 30,
  	[id] : 'myid'
}
> user
> { name: 'Mike', age: 30, Symbol(id): 'myid' }
> Object.keys(user)
> [ 'name', 'age' ]

Symbol.for() : 전역 심볼

1. 하나의 심볼만 보장받을 수 있음
2. 없으면 만들고, 있으면 가져오기 때문
3. Symbol 함수는 매번 다른 Symbol 값을 생성하지만,
4. Symbol.for 메소드는 하나를 생서한 뒤 키를 통해 같은 Symbol을 공유
const id1 = Symbol.for('id');
const id2 = Symbol.for('id');
id1 === id2 // true
Symbol.keyFor(id1);
const id = Symbol('id');
const user = {
	name : 'Mike',
  	age : 30,
  	[id] : 'myid'
}
Object.getOwnPropertySymbols(user); // [Symbol(id)]
Reflect.ownKeys(user); // ['name', 'age', Symbol(id)]
const user = {
	name : 'Mike',
  	age : 30
};
// user.showName = function() {};
const showName = Symbol('show name');
user[showName] = function() {
	console.log(this.name);
}

for(let key in ser) {
	console.log('His ${key} is ${user[key]}.');
}
profile
공부하는 블로그

0개의 댓글