typescript

A collection of 7 posts
typescript

Typescript Modules

Modules * 可以用 as 來改名,例如export { Product, PrintProduct as PrintProductName } Export * 由 export 裡面的物件來決定哪些物件要被開放出去 products.ts "use strict"; class Product{ name: string } function PrintProduct(source: Product){ console.log(source.name); } export { Product, PrintProduct as PrintProductName } Import * 如果要把全部的東西從 products modules 引用進來,我們可以用 import * as Products from "./products" 來執行,但呼叫 modules 裡面的物件時,前面必須加上
typescript

Typescript classes

Class * Typescript 每一個 class 裡面只能有一個 constructor * 預設的 Access Modifier 是 public * 存取 class 內部 properties 都必須用 this 關鍵字 class Student { fullname : string; constructor(public firstname: string, public lastname: string) { this.fullname = firstname + " " + lastname; } } let jason = new Student("Jason", "Lee"); Properties & Method class Student { fullname : string; // properties get fullName(): string { return
1 min read
typescript

tsconfig.json 是什麼?

Typescript 從 1.5的時候新增了一個東西叫 tsconfig.json,它是一個單純的 JSON file,主要作用是提供預設的編譯 (compile) 選項,同時這個檔案會放在專案的根目錄下 (root folder) tsconfig.json 範例 { "compileOnSave": true, "compilerOptions": { "module": "commonjs", "sourceMap": false, "outDir": "js", "target": "es6", "watch": true } } notes: 1. 如果tsconfig.json沒有提供"files"屬性,編譯器會默認包含當前目錄及子目錄下的所有TypeScript文件(*.ts 或 *.tsx)。 如果提供了"files"屬性值,只有指定的文件會被編譯。 Reference: tsconfig.js :https://github
1 min read
typescript

當升級 Typescript 到 1.8.7, 不過 tsc 的版本還是 1.5.3

有一陣子沒有接觸到 Typescript 了,想說來複習一下就把 Typescript 升級到 1.8, 然後遇到一些靈異現象,例如說 tsc --target ES6 不支援(只支援 ES3 or ES5) 也不支援 --watch 等參數,用 tsc --version查了一下,我的 tsc 版本竟然只有 1.5.3,可是我明明升級到 1.8.7 啊,難道我見鬼了?? 後來跟 google 大神請教了一下,原因是之前裝的 Typescript for visual studio 所造成的,可以用 where tsc 查出 tsc
1 min read