ES6 - Symbol.for ()

Questa funzione crea un simbolo e aggiunge al registro. Se il simbolo è già presente nel registro restituirà lo stesso; altrimenti viene creato un nuovo simbolo nel registro globale dei simboli.

Sintassi

Symbol.for(key)

dove, key è il identifier del simbolo

Esempio

L'esempio seguente mostra la differenza tra 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>

L'output del codice sopra sarà come mostrato di seguito -

true
false