这段代码在Meteor中意味着什么?

时间:2014-08-30 08:46:14

标签: javascript meteor

var post = _.extend(_.pick(postAttributes, 'url', 'title', 'message'), {
    userId: user._id,
    author: user.username,
    submitted: new Date().getTime()
});

我正在关注“发现流星”一书,但他们并没有真正解释这段代码。究竟是什么意思?

2 个答案:

答案 0 :(得分:1)

_.pick创建一个新对象,并从旧对象中复制一组属性名称。在这种情况下,"旧对象"是postAttributes,要从中复制的属性为urltitlemessage

_.extend允许您向目标对象添加属性。在这种情况下,目标对象是_.pick的结果对象。

结果全部成为分配给post的对象。

<子>&#34;复印&#34;在选择是不是真的复制。原始文件被复制。引用对象,而不是复制对象。该操作是浅层副本,对_.pick_.extend都不深。

答案 1 :(得分:0)

它通过从url, title, message抽象postAttributes属性并使用userId, author, submitted属性扩展来返回对象。 _Underscorejs库的参考。