Я строил структуру параметров объекта, чтобы использовать ее для инициализации плагина. Конкретный плагин или структура не имеют значения, но допустим, что это было что-то простое, как показано ниже:
{
key1:'val1',
key2: {
subkey1: 'subval1'
}
}
Я строил общую структуру из двух разных переменных объекта, например:
var key2 = {subkey1: 'subval1'};
var finalStructure = {
key1: 'val1',
key2 <-- oops! instead of key2: key2
};
Позже я не осознавал, что забыл указать ключ 'key2:', и был удивлен, что общая структура действительно закончилась key2: {...}
.
Я изменил имя переменной key2 на foobar, и полученная структура использовала имя переменной 'foobar' для имени ключа.
var foobar = {subkey1: 'subval1'};
var finalStructure = {
key1: 'val1',
foobar
};
привело к этой структуре:
{
key1:'val1',
foobar: {
subkey1: 'subval1'
}
}
Это документированное и ожидаемое поведение; безопасно сделать? Или это счастливая ошибка, которая приводит к тому, что javascript ведет себя так?