Esta função cria um símbolo e adiciona ao registro. Se o símbolo já estiver presente no registro ele retornará o mesmo; caso contrário, um novo símbolo é criado no registro global de símbolos.
Sintaxe
Symbol.for(key)
Onde, key é o identifier do símbolo
Exemplo
O exemplo a seguir mostra a diferença entre Symbol() e Symbol.for()
<script>
const userId = Symbol.for('userId') // creates a new Symbol in registry
const user_Id = Symbol.for('userId') // reuses already created Symbol
console.log(userId == user_Id)
const studentId = Symbol("studentID") // creates symbol but not in registry
const student_Id = Symbol.for("studentID")// creates a new Symbol in registry
console.log(studentId == student_Id)
</script>
A saída do código acima será conforme mostrado abaixo -
true
false