JavaScript . разный результат обращения к свойству объекта через точку и квадратные скобки
В одном случаи всё правильно выводится, результаты свойств, когда пишу через квадратные скобки
const options = {
name:'test',
width:1024,
height:1024,
colors : {
border:'black',
bg:'red'
}
};
for (let key in options){
console.log(options[key]);
}
Но если поставить точку
for (let key in options){
console.log(options.key);
}
, то в результате вывода переменная не определенна , почему так происходит?
const options = {
name:'test',
width:1024,
height:1024,
colors : {
border:'black',
bg:'red'
}
};
for (let key in options){
console.log(options.key);
}
Ответы (1 шт):
Автор решения: HTO HOT
→ Ссылка
Дело в том , что во время перебора через for in ключ получает строку.
И когда вы пытаетесь получить данные через точку. JS это видит так options.'name' , а не так options.name.
const options = {
name:'test',
width:1024,
height:1024,
colors : {
border:'black',
bg:'red'
}
};
for (let key in options){
console.log(typeof key);
}
