2016-06-08 64 views

回答

1

由於ES5「類」只是功能,您可以肯定添加類型標註爲許多相同的檢查

例如這ES6類deinition與流量

class Hello { 
    name: string; 
    constructor(name: string) { 
    this.name = name; 
    } 

    hello(): string { 
    return 'Hello ' + this.name + '!'; 
    } 

    static sayHelloAll(): string { 
    return 'Hello everyone!'; 
    } 
} 

可以這樣寫:

function Hello(name: string) { 
    this.name = name; 
} 

Hello.prototype.hello = function hello(): string { 
    return 'Hello ' + this.name + '!'; 
}; 

Hello.sayHelloAll = function(): string { 
    return 'Hello everyone!'; 
}; 

雖然你錯過名額外的類屬性檢查。

更多有關你的問題,我懷疑,這似乎可以觀察其他變量/參數等,看看他們是否通過構造函數的名稱用作類型註釋符合您ES5「類」:

https://flowtype.org/docs/objects.html#constructor-functions-and-prototype-objects

編輯:是的,我剛剛試過天真地添加的註釋是這樣的:

this.name: string = name; 

,但目前流動型不喜歡這一點。 除非有人知道更好,我想唯一的解決方法是一樣的東西

const tmpName: string = name; 
this.name = tmpName; 

儘管這顯然不是很大。

+0

'''儘管你錯過額外的類屬性檢查名稱.''' 這就是我想弄清楚如何做:) – klyngbaek

+1

啊行 - 將編輯我的答案有點:-) – Hal

相關問題