JavaScript

Knowledge Base

JavaScript / ECMAScript

Datentyp Symbol

Der in ECMAScript 2015 (ES6) eingeführte Datentyp Symbol erstellt einen eindeutigen Bezeichner, der wiederrum selbst bei Objekten als eindeutige Property verwendet werden kann.

Die Idee dahinter ist, dass String-Bezeichner eben nicht eindeutig sind und falls zwei oder mehr (evtl. unabhängige) Module bereits bestehende Objekte erweitern, können hier Seiteneffekte entstehen.

Beispiel:

<script>
    var mySymbol = Symbol();
    document.writeln("typeof(a) = " + typeof(mySymbol) + "<br>");
 
    var o = {};
    o.FirstName = "Martin";
    o[mySymbol] = "Spezial contents only available for this unique Symbol.";
    document.writeln("o.FirstName = " + o.FirstName + "<br>");
    document.writeln("o[mySymbol] = " + o[mySymbol] + "<br>");
</script>  

Ausgabe:

typeof(a) = symbol
o.FirstName = Martin
o[mySymbol] = Spezial contents only available for this unique Symbol.