幾個月前,我發表了 You’re a Real JavaScript Developer Only If...
那只是一篇好玩的文章,老實說,我沒想到會引起這麼多開發者的共鳴 😅
但從留言看來,我們都經歷過同樣的混亂:
console.log 驅動的除錯後來我又看到了 @sylwia-lask 寫的有趣文章 You’re a Real Software Developer Only If...
我很喜歡。
不只是因為它好笑,更因為它讓我想起開發者社群我最喜歡的一件事:
我們有不同的技術堆疊、不同的工作、不同的經驗程度...
但不知怎麼地,我們總是會收集到一模一樣的故事 😄
所以繼 JavaScript 之後...
也繼 Sylwia 的 Software Developer 版本之後...
我覺得繼續這個傳統才公平。
這次,讓我們來聊聊那個有一半時間都在保護我們不要害到自己的語言。
TypeScript。

所以,只有當你符合以下情況時,你才算是真正的 TypeScript 開發者...
你把一個 JavaScript 專案轉成 TypeScript,然後心想:
「這應該只要一小時就好」
三天後,你還在修型別錯誤。
你加了一個 any,只是為了讓錯誤消失。
然後立刻跟自己保證之後會回來處理。
你從來沒有回去過。
你修掉一個 TypeScript 錯誤...
卻又解鎖了十二個新錯誤。
像某種成就系統一樣。
你盯著一個型別錯誤看了 20 分鐘,然後心想:
「我知道我的意思是什麼,為什麼 TypeScript 不知道?」
你寫了:
as any
然後感到有點羞愧。
你整天都在抱怨 TypeScript...
但在用純 JavaScript 開發時卻感到完全迷失。
你把一個型別註解移掉,只是為了「簡化事情」。
TypeScript 強烈不同意。
你花在設計型別上的時間,比真正寫商業邏輯還多。
你看著一個泛型型別,心想:
「這是誰寫的傑作?」
然後發現是六個月前的你自己。
你看著另一個泛型型別,心想:
「這是誰寫的噩夢?」
還是你。
你把某個東西標成 string | number | null | undefined
因為人生本來就很複雜。
你打開一個檔案,看到:
type Result<T extends keyof U, U extends object>
然後立刻把檔案關掉。
你花了一小時跟 TypeScript 奮戰。
最後才發現它從頭到尾都是對的。
當 IDE 終於不再顯示紅色波浪底線時,你開心地慶祝。
你在某一處重新命名了一個屬性...
然後看著 TypeScript 幫你避免弄壞二十個檔案。
那一瞬間,你真的心懷感激。
你在專案裡加了嚴格模式。
然後發現了一些你其實不想發現的事情。
你太常用自動完成了,以至於現在手動打完整屬性名稱都覺得怪怪的。
你寫了:
// @ts-ignore
然後希望沒人注意到。
你寫了一個複雜到讓未來的自己還需要文件才能看懂的型別。
你把 TypeScript 錯誤貼到 Google。
結果答案裡的 TypeScript 甚至比原本的錯誤還多。
你在同一次除錯過程中說過:
「型別是對的,程式碼是錯的。」
以及
「程式碼是對的,型別是錯的。」
你終於修好一個 bug...
才發現 TypeScript 在兩天前就已經提醒過你了。
如果你讀到這份清單,並且每隔幾行就忍不住點頭...
恭喜!🥳
你正式是一名 TypeScript 開發者了。
你大概也曾經:
any而且儘管你一直抱怨...
你其實還是偷偷愛著 TypeScript。
因為做過夠多專案之後,你就會發現:
TypeScript 不是想毀掉你的一天。
它是在阻止未來的你毀掉它 😄
你做過最像「TypeScript 開發者」的事是什麼?
我投給:花了 30 分鐘建立一個很漂亮的型別...
結果那個物件其實只有兩個屬性 😅
| 感謝閱讀!🙏🏻 <br/> 希望這篇對你有幫助 ✅ <br/> 請按個反應並追蹤以獲得更多內容 😍 <br/> 由 Hadil Ben Abdallah 用 💙 製作 | ![]() |
|---|
原文出處:https://dev.to/hadil/youre-a-real-typescript-developer-only-if-1d9o