svojstva - Kako stvoriti svojstvo objekta iz vrijednosti varijable u JavaScriptu?
Želim dodati novu svojinu u 'myObj', nazvati je 'string1' i dati joj vrijednost 'string2', ali kada to učinim vraća 'undefined:'
var myObj = new Object;
var a = 'string1';
var b = 'string2';
myObj.a = b;
alert(myObj.string1); //Returns 'undefined'
alert(myObj.a); //Returns 'string2'
Drugim riječima: Kako stvoriti svojstvo objekta i dati mu ime pohranjeno u varijabli, a ne ime same varijable?
Odgovor #1
ES6 uvodi izračunate nazive svojstava, što vam omogućuje da učinite
var myObj = {[a]: b};
Odgovor #2
Postoji točkasta notacija i zagradična notacija
myObj[a] = b;
Odgovor #3
Točka notacija i svojstva su ekvivalentni. Dakle, postigli biste to ovako:
// const myObj = new Object();
const myObj = {};
const a = 'string1';
myObj[a] = 'whatever';
alert(myObj.string1);
(alerts "whatever")
Odgovor #4
Ecu, ako napišeš myObj.a, tada traži svojstvo pod imenom a u myObj. Ako napišeš myObj[a]=b, tada traži svojstvo a.valueOf() u myObj.
