Category: TypeScript

使用TypeScript處理AJAX呼叫時,常需要在前端定義與C#物件屬性一致的TypeScript型別,以便將後端傳來的JSON資料還原成強型別物件。針對較正式的資料模型,我會用CodeGen方式同步C#與TypeScript端的型別定義(順便處理多語系問題)。但蠻多時候處理對象只是零散的小型...

搞定用TypeScript寫Protractor測試,陸續參考一些範例,發現蠻多人偏好使用Chai程式庫。原本Protractor預設的寫法expect(foo).toEqual(5),改用Chai之後變成: expect(foo).to.be.a('string'); ...

裝好Protractor,就可以動手寫測試了。Protractor預設使用Jasmine,之前寫Angular單元測試時玩過,語法並不陌生,但是用慣神兵利器,遇上超過一百行的JavaScript,少了Visual Studio + TypeScript拎杯根本活不下去,啊啊啊啊~(顯示為鎚子被沒...

同事報案:Visual Studio 2013不知何時起無法編譯TypeScript,存檔或編譯都不會產生JavaScript檔。嘗試重啟VS2013、Windows依然無法解決,灰心喪志之餘,已經萌生重灌VS2013的念頭。 茶包射手出動。SOP第一步為判斷災難範圍,盡可能將事故現場縮到最小...

同事報案,下載Angular TypeScript定義檔後,jQuery.d.ts出現大量錯誤訊息,無法編譯: 看了錯誤所在,出現U|JQueryGenericPromise<U>的新奇寫法,先前在Kendo UI討論區發問曾聽Telerik RD提過,這似乎是Unio...

目前進行中的網站專案全面改用TypeScript,有顆地雷卻一忘再忘,踩了又踩,痛定思痛怒寫筆記,誓言戰勝末稍血液循環問題。 TypeScript需編譯轉成JavaScript,不過Visual Studio預設TypeScript一存檔就自動編譯,因此過去邊測邊改的習慣仍能照舊。在瀏覽器用F...

文章標題讓人霧煞煞,不過也想不出更精準的形容,但看下去大家(我是指有選修TypeScript的同學,其餘同學請前往自己的選課教室)應該就明白了… 故事是-我在寫TypeScript單元測試,想做一個假物件模擬SingalR HubProxy的行為,由NuGet取得定義檔signalr.d.ts,...

使用Chutzpah執行TypeScript單元測試,出現以下錯誤: foo.ts(14,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. 檢查foo.ts發現其中...

前陣子將一個中型網站的 JavaScript 翻寫成 TypeScript,轉換完數千行程式。身為 TypeScript 魯雞(Rookie),少不了一段步步踩雷、天天摔坑的日子,接著就漸入佳境,轉換後體驗到按  F2 立即更名、-調介面便知哪些地方要改的便利,令人感動不已。這段時間累...

前陣子談過 TypeScript 使用 this 常遇到的問題(參考:TypeScript的this陷阱),經網友提醒,我才發現 TypeScript 對 () => { … } (Arrow Function Expression,箭頭函式表示式,索性簡稱「箭函式」XD )加了魔法:自動...

市長候選人柯P的競選團隊前幾天做了一件有趣的事(只有程式魔人覺得有趣),突發奇想地將官網內容透過Web API方式提供,歡迎開發人員自行開發野生官網。昨天,保哥瞬間變出AngularJS版,好不神奇! 依我的理解,這個需求還算簡單,應該也難不倒knockout.js,而更重要的是,這年頭大家都去...

列舉(Enumerate)是我愛用的TypeScript特性之一,它能嚴格限制數值範圍,較數字或字串安全,不慎打錯字在編譯時就會被揪出來,對於錯字成習甚至已發展成個人特色的我來說,節省了可觀的Debug時間,並大幅降低氣到想刴手指的風險,功德無量。(手指頭:謝謝你,TypeScript!) T...