1
我有很多遺留的ES5代碼,它們不使用class關鍵字來定義「類」。我想註釋並使用Flow進行類型檢查。那可能嗎?您可以使用Facebook的流注釋未使用ES6類關鍵字定義的類嗎?
我只發現使用class關鍵字例子: https://flowtype.org/docs/classes.html#_
我有很多遺留的ES5代碼,它們不使用class關鍵字來定義「類」。我想註釋並使用Flow進行類型檢查。那可能嗎?您可以使用Facebook的流注釋未使用ES6類關鍵字定義的類嗎?
我只發現使用class關鍵字例子: https://flowtype.org/docs/classes.html#_
由於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;
儘管這顯然不是很大。
'''儘管你錯過額外的類屬性檢查名稱.''' 這就是我想弄清楚如何做:) – klyngbaek
啊行 - 將編輯我的答案有點:-) – Hal