[JavaScript] 심볼(Symbol)

심볼(Symbol)은 유일한 식별자(unique identifier)를 만들고 싶을 때 사용하거나 동시 다발적으로 일어날 수 있는 코드에서 우선순위를 주고 싶을때 정말 고유한 식별자가 필요할 때 쓰여진다.

Symbol( ) 또는 Symbol.for() 을 사용하면 심볼값을 만들 수 있다.



Symbol을 사용하여 주어지는 String에 상관없이 동일한 String을 사용하더라도 고유한 식별자를 만들 수 있다.

const symbol1 = Symbol('id');
const symbol2 = Symbol('id');

console.log(symbol1 === symbol2); // false



만약 String이 똑같다면 동일한 Symbol 을 만들고 싶다면 Symbol.for()을 사용해서 아래와 같이 동일한 Symbol을 만들 수 있다.

const symbol1 = Symbol.for('id');
const symbol2 = Symbol.for('id');

console.log(symbol1 === symbol2); // true



Symbol을 출력할 때에는 변수를 바로 사용하면 에러가 발생하므로 아래와 같이 심볼명.description 을 사용하여 String으로 변환하여 출력해야 한다.

const symbol1 = Symbol.for('id');
const symbol2 = Symbol.for('id');

console.log(symbol1 === symbol2); // true

console.log(symbol1.description); // id




댓글

댓글 쓰기