Чи існує простий спосіб автоматичного додавання властивостей до об’єктів, якщо вони ще не існують?
Розглянемо наступний приклад:
var test = {}
test.hello.world = "Hello doesn't exist!"
Це не працює, оскільки helloне визначено.
Причина, по якій я запитую це, полягає в тому, що у мене є деякі існуючі об’єкти, для яких я не знаю, чи є вони вже 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 це та сама проблема, що і з об'єктами.