javascript – 对象传播与Object.assign
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 对象传播与Object.assign,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1202字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 对象传播与Object.assign](/upload/InfoBanner/zyjiaocheng/714/49f9db21c798482dacb4d6a84833f0be.jpg)
假设我有一个选项变量,我想设置一些默认值.
这两种选择的好处/缺点是什么?
使用对象传播
options = {...optionsDefault, ...options};
或者使用Object.assign
options = Object.assign({}, optionsDefault, options);
这是让我惊讶的commit.
解决方法:
这不一定是详尽无遗的.
传播语法
options = {...optionsDefault, ...options};
好处:
>如果创作代码在没有本机支持的环境中执行,您可能只需编译此语法(而不是使用polyfill). (以Babel为例.)
>少详细.
缺点:
>当这个答案最初编写时,这是一个proposal,不是标准化的.在使用提案时,请考虑如果您现在编写代码时要执行的操作,并且在向标准化过程中不会进行标准化或更改.这已经在ES2018中标准化了.
>文字,而非动态.
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);
缺点:
>更详细.
>如果创作代码在没有本机支持的环境中执行,则需要进行填充.
This is the commit that made me wonder.
这与你提出的问题没有直接关系.该代码没有使用Object.assign(),它正在使用用户代码(对象分配)执行相同的操作.他们似乎正在使用Babel编译该代码(并将其与Webpack捆绑在一起),这就是我所说的:您可以编译的语法.他们显然更喜欢将对象分配作为依赖项包含在构建中.
内容总结
以上是互联网集市为您收集整理的javascript – 对象传播与Object.assign全部内容,希望文章能够帮你解决javascript – 对象传播与Object.assign所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。