我對ES6和打字稿非常新,目前並排研究。
當我來到類定義的一部分,有一個問題:
是否有類聲明它們之間的主要語法:
我發現的是:
在ES6,有隻方法可以聲明,但沒有構件:
class Greeter {
constructor(message) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
儘管在打字稿,它允許聲明成員變量,以及:
class Greeter {
// although it declare a variable "greeting" here, but I am not sure if it allows assignment initialization
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
我不知道這是否是主要的語法差異(加訪問修飾符,有關於修改一個相關的問題:我讀了ES6類不能定義靜態成員,那麼什麼是允許定義點靜態方法?)之間呢?
如果不止於此,還有什麼需要注意的?
感謝
謝謝,第一個和第二個代碼段是在TypeScript還是ES6中?因爲當我用babel將它編譯爲ES2015時,它在greeting =「world」時給了我錯誤;行,這意味着意外的令牌。 – kuanslove
謝謝,我想我的問題之一是,如果我們不能在ES6中定義靜態變量,爲什麼ES6允許定義靜態方法? – kuanslove
如上所述,靜態屬性只是您可以在靜態方法中分配的屬性,或者在定義了類本身之後,與在構造函數或常規方法中創建實例屬性的方式相同。 –