如果不知道怎麼開始,
就來個Hello Wrold吧。
───────────────────────── By Opshell
在複雜的專案中, Javascript 的問題是,無法確定他傳進來、丟出去的東西,
例如:前陣子我在用Vue做一個無限遞迴的Menu,在邏輯有點複雜的情況,
不夠明確的報錯,花了一段時間才發現資料的型別有錯誤。在每個開發JS的角落利用console來判斷型別、追朔變數宣告來了解變數型別,
中間無數的輾轉,連他自己都忘了自己是誰,你怎麼會記得呢?
TypeScript主要就是為了解決這些弱點來提升JS開發體驗而存在的,
讓他記得自己是誰,提高我們coding的效率。
上面講的可能有點模糊,我們做個簡單的例子來體會TypeScript的優勢:
能在編譯前發現大部分問題,開發速度簡直Turbo 再Turbo。
當然他也支援很多其他的語言,不只有TypeScript。
function sayHello(name: string) {
return 'Hello, ' + name;
}
const who = 'World';
console.log(sayHello(who));
cd ts
tsc hello.ts
猜測是因為放在一起,宣告互相干擾了,
設定tsconfig.json的輸出位置試試。
回到根目錄下執行 tsc --init
cd ../
tsc --init
設定輸入資料夾與輸出資料夾(順便設定些有的沒的)
設定了tsconfig.json之後,就可以直接使用tsc編譯了
在根目錄下直接執行,也不需要cd ts了
tsc
function sayHello(name: string){
return 'Hello, ' + name;
}
const who = 123;
console.log(sayHello(who));
tsc
編譯提醒了,但還是能編譯成功。
js檔案還是還是會產生出來,這是ts的包容性。
藉由 Hello Wrold 最直觀的感受到 TypeScript 的優勢,
也學會了設定 tsconfig 還有很多的設定,可以慢慢研究。
然後 Error Lens 真的很厲害,非常推薦安裝。