Здравствуйте!
Подскажите, пожалуйста, почему не удается добавить объект в объект если исходный пустой?
Например:
obj = {};
obj['options']['test2'] = 2; // ошибка Cannot set property 'test2' of undefined
Однако, если перед этим создать объект с помощью присвоения:
obj = {};
obj['options'] = {test1:1};
obj['options']['test2'] = 2; //ошибки уже не возникает
Подскажите, пожалуйста, оптимальные способы создания объекта в объекте. Спасибо!
Ошибка возникает потому что данного объекта нету, следовательно подобное выражение вернёт undefined
без предыдущего присваивания данного параметра.
return typeof options ["name"];
Для корректной работы нужно сначала создать объект, а уже только потом работать с его параметрами.
options ["name"] ["parameter"] = typeof value; // так работать не будет
options ["name"] = {}; // а так все будет работать
options ["name"] ["parameter"] = typeof value;
obj['options']['test2'] = 2; // ошибка Cannot set property 'test2' of undefined
Текст ошибки прямо описывает проблему: obj.options
на момент присваивания не определён.
Одним из решений может быть предварительная проверка:
if (typeof obj.options === 'undefined') obj.options = {};
obj.options.test2 = 2;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть массив section = [[0, 4, 8, 12], [1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15]]; И массив numbers = [2,3,5,8,10,14,15];
Решил разобрать маленький фреймворк Sortable (для сортировки элементов на странице) и не могу понять небольшой кусок кода
Документация по синтаксису шаблонов, шаблонизатора bem-xjst, предикатыК первому подпредикату показан и объяснен пример, который не работает