javascript - 工厂的 es6 语法

标签 javascript ecmascript-6

有人可以解释一下下面的 es6 代码是如何成为一个工厂的吗?

const createChat = ({
  id = 0,
  msg = '',
  user = 'Anonymous',
  timeStamp = 1472322852680
} = {}) => ({
  id, msg, user, timeStamp
});

最佳答案

您看到的所有值(0''Anonymous1472322852680)均为默认值。它们通常会从传入的对象中提取,但如果它们不存在,则将在其位置使用它们。这是default parameters .

=> ({...}) 是返回值的简写(请注意,没有 return 语句)。因此,这里它返回一个带有传入的 idmsgusertimeStamp 的对象,除非这些值它是通过使用 destructing 来完成此操作的.

https://jsfiddle.net/y7mb6jsp/

关于javascript - 工厂的 es6 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39214698/

相关文章:

javascript - Meteor 尚不支持 ECMA7 静态原型(prototype),有什么好的解决方法吗?

javascript - 我怎样才能遍历这个Javascript对象?

javascript - Google 图表时间线的替代方案

javascript - ES6 生成器 - 第一个 next() 没有 yield 表达式的示例

javascript - 如何在 ES5 中实现 "class extending"函数(例如装饰器函数),该函数也适用于 ES2015 类

javascript - 如何在 reactjs 的一个组件中处理多个单选按钮组?

reactjs - 节点模块问题 : Only one default export allowed per module

javascript - 无法使用 php 提交表单 insider javascript popover

javascript - 用重音排序西里尔文字

javascript - 无法获取输入选择表单的初始值