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 the "best practice" in this scenario and why (also in terms 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;
            }
        });
    });