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.