Есть ли простой способ автоматически добавлять свойства к объектам, если они еще не существуют?
Рассмотрим следующий пример:
var test = {}
test.hello.world = "Hello doesn't exist!"
Это не работает, потому что hello
не определен.
Причина, по которой я спрашиваю об этом, заключается в том, что у меня есть некоторые существующие объекты, для которых я не знаю, имеют ли они allready hello
или нет. У меня на самом деле много таких объектов в разных частях моего кода.
Очень раздражает всегда проверять, существует ли hello
, и если он не создает новый объект, например:
var test = {}
if(test.hello === undefined) test.hello = {}
test.hello.world = "Hello World!"
Есть ли способ автоматического создания объекта, такого как hello
в этом примере?
Я имею в виду что-то подобное в php:
$test = array();
$test['hello']['world'] = "Hello world";
var_dump($test);
Выход:
array(1) {
["hello"]=>
array(1) {
["world"]=>
string(11) "Hello world"
}
}
Хорошо, это массив, но в массивах js это та же проблема, что и для объектов.