Есть сценарии, в которых вы не можете использовать "объект-точка-атрибут": Например:
var obj={
"hello world": 1,
"hello-world":2
}
obj.hello world //syntax error
obj.hello-world //this is understood as (obj.hello) - world, a subtraction
Таким образом, единственный способ, чтобы получить эти атрибуты использует
obj["hello world"]
obj["hello-world"]
В целом использование точки более безопасно, потому что любая IDE может проверить, был ли уже создан атрибут и может ли он выводиться, если тип верен, поэтому моя рекомендация - использовать объектно-точка-нотацию un меньше вы не можете.
Другой сценарий, где вы не можете использовать его, когда вы не знаете имя атрибута, для примера вы используете объект в качестве карты:
var map={};
function addUser(username,userId) {
map[userId]=username;
}
function getUserName(userId) {
return map[userId]
}
Возвращаясь к вашему примеру:
var myObj = {
name1: 'abc',
place1: 'xyz',
name2: 'mno',
place2: 'uvw',
};
рекомендуемый способ, чтобы получить значение является:
myObj.place2
Но вы можете использовать
myObj["place2"]
'myObj [место1]' не будет работать, если не будет инициализированная переменная с именем 'place1' – gurvinder372
Второй один должен быть myObj [ "Place1"]. Это обозначение, как вы хотите его использовать. – nikhil