假设我有一个options
变量,我想设置一些默认值。
这两种选择的优点/缺点是什么?
使用对象传播
options = {...optionsDefault, ...options};
或者使用 Object.assign
options = Object.assign({}, optionsDefault, options);
这是commit https://github.com/FormidableLabs/radium/commit/ca9e9f6f62bb8af692ec120e2c4a0be8c5a7705c这让我想知道。
这不一定是详尽无遗的。
扩展语法
options = {...optionsDefault, ...options};
优点:
缺点:
Object.assign()
options = Object.assign({}, optionsDefault, options);
优点:
标准化。
-
动态的。例子:
var sources = [{a: "A"}, {b: "B"}, {c: "C"}];
options = Object.assign.apply(Object, [{}].concat(sources));
// or
options = Object.assign({}, ...sources);
缺点:
- 更详细。
- 如果编写代码以便在没有本机支持的环境中执行,则需要进行填充。
这是让我想知道的承诺。
这与你要问的没有直接关系。该代码没有使用Object.assign()
,它正在使用用户代码(object-assign
)做同样的事情。他们似乎正在使用 Babel 编译该代码(并将其与 Webpack 捆绑在一起),这就是我所说的:您可以直接编译的语法。他们显然更喜欢这样做,而不是必须包括object-assign
作为将进入其构建的依赖项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)