В JavaScript, при добавлении свойства существующего объекта, как это:динамически добавляя число как свойство для существующего объекта
var qBacks = {
12: "Namath",
16: "Montana",
19: "Unitas"
};
qBacks["4"] = "Brett Favre"; //Will work!
qBacks.4 = "Brett Favre"; //Will not work!
//but
qBacks.player4 = "Brett Favre"//Will work.
и, если я хочу добавить свойство 4, чтобы удалить имя, Я должен использовать кронштейн обозначения для завершения:
qBacks[4] = "Farve"; //Works!
qBacks.4 = "Farve"; //Will not work!
Почему не точка оператор работы с числами, чтобы динамически добавлять свойства или изменить значение? Я предполагаю, что это связано с тем, что typeof 4 является примитивным, но хотел бы получить лучшее понимание. Спасибо
точка синтаксис пути работает только по именам, которые начинаются с букв (или _) и содержать только '/ \ ш /' гольцов – dandavis
Это необходимо, потому что '.' может быть неоднозначным. Допустим, у вас не было ни одного уровня, а два - теперь, что тогда будет «object.4.5»? Будет ли это свойство «первого уровня» с именем «4.5», или, возможно, это свойство с именем «4», которое само является объектом и имеет свойство с именем «5» под ним ...? – CBroe