TypeScript Menang. Inilah Hasilnya.
Debat telah berakhir. TypeScript menang. Projek baharu menggunakannya secara lalai.
Tujuan asalnya adalah untuk mengesan kesilapan menaip sebelum ia merosakkan kod anda. Namun, nilai sebenarnya jauh lebih besar daripada itu.
Jenis (Types) berfungsi sebagai dokumentasi yang tidak akan luput. Tandatangan fungsi memberitahu anda dengan tepat apa yang perlu dihantar dan apa yang anda terima semula. Jika anda menambah pilihan baharu ke dalam senarai, pengkompil (compiler) akan memaksa anda mengemas kini setiap bahagian kod anda. Komen hanya akan berada di sana dan membohongi anda.
Refactoring menjadi selamat. Dalam kod JavaScript lama, menamakan semula medan (field) terasa seperti satu perjudian. Anda mencari rentetan (strings) dan berharap yang terbaik. Dalam TypeScript, anda menukar jenisnya dan pengkompil akan memberikan senarai tugasan bagi setiap baris yang rosak. Refactoring tidak lagi menakutkan. Ia hanyalah satu tugasan.
Jenis juga menjadikan pembantu AI lebih baik.
Jika anda meminta AI untuk menyunting JavaScript tanpa jenis, ia perlu meneka strukturnya. Jika anda menggunakan TypeScript, jenis tersebut adalah spesifikasinya. AI tahu apa yang dibenarkan. Jika AI melakukan kesilapan, pengkompil akan mengesannya dengan serta-merta. Anda tidak akan mengalami kegagalan sistem produksi pada jam 2 pagi. Anda hanya akan mendapat garisan merah dalam editor anda.
Jenis tidak melambatkan anda. Dalam dunia AI, ia mempercepatkan anda. Ia bertindak sebagai pagar penghadang (guardrails) supaya anda boleh mempercayai kod yang dijana.
Tulis jenis anda dengan niat yang jelas:
• Gunakan union berbanding boolean berbilang. Status seperti "loading" | "error" | "ready" adalah lebih baik daripada tiga flag yang mungkin bercanggah antara satu sama lain.
• Namakan jenis domain anda. Gunakan "type Cents = number" untuk menunjukkan niat anda.
• Elakkan "any". Gunakan "unknown" dan kecilkan skopnya (narrow it down) sebagai ganti. "any" mewujudkan lubang dalam jaring keselamatan anda.
• Biarkan inferens berfungsi. Anda tidak perlu melabelkan segalanya. Labelkan sempadan anda seperti tandatangan fungsi dan biarkan selebihnya mengalir secara semula jadi.
TypeScript melakukan lebih daripada sekadar mengesan kesilapan menaip. Ia mencipta kontrak yang dikuatkuasakan. Kontrak ini membolehkan refactoring tanpa rasa takut dan alat AI yang boleh dipercayai.
Kita mula menggunakan jenis untuk menghentikan pepijat (bugs). Kita terus menggunakannya kerana ia adalah asas kepada segala-galanya yang lain.
Sumber: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-12m8
