2016-08-25 86 views
2

對不起,這個可怕的標題(我無法想出一個更好的標題)。`類<Component>`在JS中的含義

我考慮看看Vue代碼,我發現這一點:

export function initMixin (Vue: Class<Component>) { // ... } 

什麼Class<Component>手段在這方面?結腸?在這種情況下,我們將變量Vue傳遞給initMixin函數。 Vue它只是一個工廠類聲明。我一直在ES2015中浸泡,我仍然不明白它的作用。

該文件是https://github.com/vuejs/vue/blob/next/src/core/instance/init.js,行12

謝謝!

+2

它使用的是[flow](https://flowtype.org),它是javascript的擴展類型 –

+0

看起來像。謝啦!如果你把這個作爲答案,我會蓋帽並批准它。 –

回答

2

Vue正在使用flow,這是對Javascript的一種類型擴展。

您可以通過閱讀.babelrc文件找出確切的Javascript變種。你可以看到它使用兩個預設:es2015flow-vue

在這種情況下,Vue: Class<Component>聲明參數Vue具有的Class<Component>類型。

+1

特別是當'Vue:Component'傷口表示'Vue'變量的值是'Component'的_instance_時,'Vue:類'意味着'Vue'是'Component'的一個實例的構造函數。 – loganfsmyth