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

我下面的書籍「發現流星」,他們並不真正解釋這個代碼塊。這究竟意味着什麼?這段代碼在Meteor中意味着什麼?

+2

閱讀[Underscore文檔](http://underscorejs.org/) – elclanrs 2014-08-30 08:53:12

回答

0

它通過抽象url, title, message屬性從postAttributes返回一個對象,並擴展userId, author, submitted屬性。 _Underscorejs庫的參考。

1

_.pick創建一個新的對象,並採用一組屬性名稱從舊對象複製。在這種情況下,「舊對象」是postAttributes,要複製的屬性爲url,title,message

_.extend允許您將屬性添加到目標對象。在這種情況下,目標對象是_.pick的結果對象。

它的結果全部成爲分配給post的對象。

「複製」在選秀是不是真的複製。基元被複制。對象被引用,而不是被複制。該操作是淺拷貝,對於_.pick_.extend都不是很深。