I am declaring a "class" using a "constructor method". In both samples, properties uuid
and dateCreated
are initialized but in different places.
I would like to know, what is the "best practice" in this scenario and why (also in termterms of readability).
Solution A
define([
'dojo/_base/declare',
'dojo/_base/lang',
], function (declare, lang) {
return declare('xxx.xxx.Command', null, {
uuid: utilis.UUID(), // IS GOOD PRACTICE?
dateCreated: Date.now(), // IS GOOD PRACTICE?
action: null,
properties: null
},
constructor: function (action, receiver, properties) {
this.action = action;
this.receiver = String(receiver);
this.properties = properties;
}
});
});
Solution B
define([
'dojo/_base/declare',
'dojo/_base/lang',
], function (declare, lang) {
return declare('xxx.xxx.Command', null, {
uuid: null,
dateCreated: null,
action: null,
properties: null
},
constructor: function (action, receiver, properties) {
this.uuid = utilis.UUID();
this.dateCreated = Date.now();
this.action = action;
this.receiver = String(receiver);
this.properties = properties;
}
});
});