事隔3年多之後,我終於又再一次完賽了!現在的我對於 TypeScript 也有一些基本的認識了!(感動~)
在過去的三年中,其實心裡也是會想要參加 ITHome 的鐵人賽,只是因為 工作忙碌 加上一些突發狀況和心裡的完美主意作祟,導致前幾年寫的一些文章(因為沒有完賽)又被自己刪刪掉(懊悔中QQ),所以今年就暗暗的下定決心,就算跑不到終點,也要留下一點痕跡,至少代表我曾經努力過!(認真...)
可是,就在鐵人賽開始的第05天,我就被公司派去美國出差,好加在我在一開始有先預先寫好2天備份,到機場準備登機時先發一篇,一下飛機,又馬上發一篇!所以才不會在飛機上就失去鐵人賽的資格!也因為這個緣故,那一週的出差經驗變得很特別,每天晚上回到宿舍都在狂查資料學習TypeScrip和狂寫文,因為要回台灣時一定又會再來一次這樣的發文的過程。
在過去的 29 天裡,我們先是了解到 TypeScript 它是 JavaScrip 的超集,舉凡 JavaScript 有的他都有,而且還是強型別。這對於開發者來說真的是一大好消息,不用擔心不小心拼錯字還不知道!再來是我們學到了關於他的基本型別、物件型別,還有如何宣告變數,甚至連 函式(function) 都可以拿來當成變數使用傳來傳去的,這正是因為函式在TypeScript 和 JavaScript 中是一等公民。
另外,與其他程式語言很不一樣的是,TypeScript 是用三個等於(===
)和驚嘆號加上兩個等於(!==
)來做比較,如果你用兩個等於(==
)或一個驚嘆號加等於(!=
),TypeScript 就會幫你自動轉換型別,這樣一來,我們就很容易會踩到地雷。在 TypeScript 中關於 比較 的另一個地雷是,如果直接去比較兩個物件,那也是行不通的,對於物件的比較要特別處理才行。
此外,TypeScript是完全支援 函數導向(Functional Programming) 的,所以也可以同時把物件導向和函數導向的觀念帶進來寫,也可以寫得很開心!加上他又是屬於強型別,真的是一個很棒的程式語言。
再來就是 Truthy 和 Falsy 的觀念,也是很特別,要小心別又踩到雷了!(JavaScript地雷很多,TypeScript 也不遑多讓阿,所以觀念真的要很清楚!)
最後附上一些我這次學習的相關資訊,有興趣的朋友可以參考參考: