我得到了以下用于存储设置参数的obj。它保存默认值我希望通过POST请求进入的JSON覆盖此obj的属性。当然,我可以单独转换JSON中的每个字符串值并将其分配给相应的属性,但是,这是一个很好的做法吗?
const moth_eng = require('./fractioning_model_v1.1.js');
// in ./fractioning_model_v1.1.js set default values
var settings = {
i: 1,
rev_share: 0.2,
parent_level_share: 0.45,
d: 2,
get user_pool_share () {return this.i - this.rev_share;},
get remaining_levels_pool () {return this.user_pool_share - this.parent_level_share;},
};
//main.js
app.post('/fractobj', function (req, res) {
logger.log("info", "/fractobj requested - post")
let obj = req.body;
moth_eng.set_sttngs(obj);
res.send(moth_eng.getFractions(10));
});
// in ./fractioning_model_v1.1.js
function setSettings(obj){
Object.assign(settings, obj);
}
我的问题是,Object.assign()确实将值分配为字符串,因为JSON的值是字符串,我发现它不会分别为每个值转换这些值。
从大局来看,解决这个问题的方法是什么?