2016-05-23 2 views
-2
var data = {}; 
data.info.id = "alpha"; 

Это бревна на консоль: «TypeError: data.info is undefined».Как назначить значения неопределенным объектам?

Хорошо, это здорово и все, кроме меня нужно сохранить значение в data.info.id. Разве это не то, что объекты должны делать?

Это должно произвести объект, который выглядит следующим образом:

data: { 
    info: { 
    id: "alpha" 
    } 
} 

ли data.info = {} действительно необходимый шаг?

В ответ на Патрика Эванса - это вопрос, который не имеет отношения.

+4

Да это. В противном случае 'data.info', дождитесь его,' undefined'. Объекты автоматически не получают свойства при попытке получить к ним доступ. Это создало бы все виды хаоса. –

+0

Mike C - достаточно справедливо. Ответ, чтобы я мог дать вам лучший ответ – snazzybouche

+0

Кто такой Патрик Эванс, и что он должен делать с вашим вопросом? Комментарии должны быть рассмотрены с комментариями, а не изменениями к вопросу. –

ответ

0

Хорошо, есть другой способ. Вот поставить info -объект непосредственно в data -объект так:

var data = { 
 
    info: {} 
 
} 
 
data.info.id = "alpha"; 
 

 
console.log(data);

Смежные вопросы