Globaalit symbolit JavaScriptissä
Menetelmällä Symbol.for
voidaan luoda nimellisiä symboleja.
Nämä symbolit tallennetaan
globaaliin symbolirekisteriin
ja niihin pääsee käsiksi
mistä tahansa koodin osasta.
Katsotaan kuinka se toimii. Luodaan symboli yhdessä funktiossa:
function func1() {
let sym = Symbol.for('test');
return sym;
}
Nyt toisessa funktiossa saamme käyttöoikeuden tähän symboliin sen nimen perusteella:
function func2() {
let sym = Symbol.for('test');
return sym;
}
Tarkistamme, että molemmat funktiot sisältävät saman symbolin. Kutsukaamme funktioitamme:
let sym1 = func1();
let sym2 = func2();
Verrataan symboleja:
console.log(sym1 === sym2); // true
Olkoon sinulla useita olioita.
Lisää jokaiselle niistä avain
symbolin muodossa nimellä 'sum'.
Tee tähän avaimeen funktio,
joka palauttaa olion
alkioiden summan.