Я столкнулся со странным поведением, используя [].
У нас есть "классы" модели с полями, инициализированными до некоторого значения. Например:
require([
"dojo/_base/declare",
"dijit/_WidgetBase",
], function(declare, parser, ready, _WidgetBase){
declare("MyWidget", [_WidgetBase], {
field1: [],
field2: "",
function1: function(),
function2: function()
});
});
Я обнаружил, что когда поля инициализируются с []
, они будут общими для всех объектов модели. Внесение изменений в один влияет на всех остальных.
Этого не происходит, инициализируя их с new Array()
. То же самое для инициализации объектов ({}
против новых Object()
)
TBH Я не уверен, что это проблема с платформой, которую мы использовали ( Dojo )