1
我從typescript開始,我遇到了John Papa的教程。他有以下幾點:Typescript和等效的js代碼
// TypeScript
class Car {
// Property (public by default)
engine: string;
// Constructor
// (accepts a value so you can initialize engine)
constructor(engine: string) {
this.engine = engine;
}
}
相當於js代碼:
// JavaScript
var Car = (function() {
function Car(engine) {
this.engine = engine;
}
return Car;
})();
這讓我感到困惑。它不應該是:
function Car(engine) {
this.engine = engine;
}
我在這裏錯過了什麼嗎?
JavaScript的有效正是你有什麼建議。請注意,'Car'的值將是該匿名函數的*返回值*,並且匿名函數作爲'var'初始化的一部分執行。因此'Car'最終就是你認爲應該是的小功能。 – Pointy
你問你爲什麼它被包裝在一個函數執行中,並被賦值給一個變量而不是僅僅具有該函數? –
現在,爲什麼這樣呢?它是由轉譯器生成的代碼。在翻譯TypeScript'class'聲明的一般情況下,該結構是有意義的。 – Pointy