.NET Conf
Learn. Imagine. Build.
.NET Conf
TypeScript 新鮮貨 報你知
Jimmy
.NET Conf
• Jimmy
• 威煦軟體
• 全端工程師
• Angular線上讀書會班底
• https://jiaming0708.github.io/
Who am I
.NET Conf
• 把JavaScript變嚴謹了
• 從編譯階段就避免掉許多錯誤
• 適用於各瀏覽器
• 編譯後還是JS
• NodeJS也可使用
什麼是TypeScript
.NET Conf
.NET Conf
• npm install typescript
• 產生tsconfig.json
• tsc —watch
環境建置
.NET Conf
• name:String = “i am string”;
• amount:Number = 123;
• flag:boolean = false;
• Compare(first:Number, second:Number):boolean{
return first === second;
}
型別
.NET Conf
class Animal{
Name:String;
LegCount:Number;
}
interface IAnimal{
Name:String;
LegCount:Number;
}
Class/Interface
.NET Conf
enum AnimalKind{
dog,
cat,
bird
}
enum
.NET Conf
• tsc —init
• 支援預設型別
• interface Y<T> {}
• interface X<T = boolean> {}
• Async Iteration
• function* f() { yield 1; yield* [2, 3];}
• 在js檔案中使用TS檢查
• // @ts-check
2.3(April 2017)
.NET Conf
• string enum
• enum Colors { Red = "RED" }
• 弱型別檢查
• function sendMessage(object: Animal){}
sendMessage({ Type:"Dog" })//property error
2.4 (June 2017)
.NET Conf
• catch可不定義變數
• try { JSON.parse() } catch { console.log() }
• checkJs模式,等同/@ts-check
• var x = /** @type {string} */(“something”)
2.5 (August 2017)
.NET Conf
• tsc —watch變快了!!
• 在地化的command line
• //#region
2.6 (October 2017)
.NET Conf
2.7 coming soon
.NET Conf
• https://github.com/Microsoft/TypeScript/wiki/
What's-new-in-TypeScript
參考
Type script新鮮貨報你知

Type script新鮮貨報你知