런타임 와이드 심볼 레지스트리(runtime-wide symbol registry)에서 지정된 키로 존재하는 심볼을 찾아 반환한다. 없으면 전역 심볼 레지시트리(global symbol registry)에 해당 키로 새로운 심볼을 생성한다.
Symbol()
함수와 혼동하지 않도록 한다. Symbol()
함수에서 사용하는 매개변수는 심벌의 설명이다. 다음 두 개의 심벌은 다르다.
Symbol("a") == Symbol("a") // false
Symbol.for()
메소드에서 사용하는 매개변수는 식별키이다. 다음 두 개의 심벌은 동일하다.
Symbol.for("a") == Symbol.for("a") // true
Symbol.for(key)
심볼을 식별하는 키를 지정한다.
지정된 키(key)를 갖는 전역 심벌(global symbol)이 존재하면 반환하고 없다면 새로운 심벌(symbol)을 생성해 반환한다.