[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