Lasketut ominaisuudet JavaScriptissä
Kun oliota määritellään, sen ominaisuuksien nimet voivat tulla muuttujista. Tällaisia ominaisuuksia kutsutaan lasketuiksi ominaisuuksiksi. Katsotaanpa, miten se tehdään. Oletetaan, että meillä on seuraava olio:
let obj = {
a: 1,
b: 2,
c: 3
};
Oletetaan, että jonkin ominaisuuden nimi on tallennettu muuttujaan:
let key = 'a';
Tehdään niin, että ominaisuuden nimen sijasta otetaan arvo meidän muuttujastamme. Tätä varten muuttuja tulee sijoittaa hakasulkeisiin:
let obj = {
[key]: 1,
b: 2,
c: 3
};
Laskettuja ominaisuuksia määriteltäessä voidaan suorittaa koodia. Esimerkki:
let obj = {
[key + '1']: 1,
[key + '2']: 2,
[key + '3']: 3
};
Seuraavassa koodissa avaimen olisi pitänyt tulla muuttujasta. Korjaa tehty virhe:
let key = 'x';
let obj = {
key: 1,
y: 2,
z: 3
};
Annettu olio:
let obj = {
x: 1,
y: 2,
z: 3
};
Annettu muuttujat:
let key1 = 'x';
let key2 = 'y';
let key3 = 'z';
Tee niin, että olion avaimet tulevat näistä muuttujista.