All Articles
ทำไมถึงใช้ TypeScript

2021-11-03

ทำไมถึงใช้ TypeScript

Read on Medium

ทำไมถึงใช้ TypeScript

เกริ่นก่อนเลยนะครับว่าผมเพิ่งใช้ TypeScript ได้ไม่นานมาก(ไม่ถึงปีด้วยซ้ำ) เพราะฉะนั้น วันนี้เลยจะไม่พูดถึงหรือเปรียบเทียบกับ JavaScript นะครับว่าอะไรดีกว่ากัน(ปัญหาโลกแตก 555) แต่วันนี้จะมาแชร์ให้อ่านแล้วกันว่าหลังจากที่ลองใช้งานกับการทำงานจริง ๆ แล้วนั้น มันดีสำหรับเรายังไง (จริง ๆ คือเอาไว้ส่งให้คนอ่านเวลามาถามเราว่ามันดียังไง ฮ่าๆๆ)

มาเริ่มกันเลยครับ เราจะยกตัวอย่างมาสัก 5 ข้อแล้วกัน ว่าในการทำงาน TypeScript ช่วยอะไรเราบ้าง

1. static typing หรือการที่มันเป็น type safe นั่นเอง

บอกเลยว่าอันนี้ช่วงแรก ๆ คือเป็นอะไรที่หงุดหงิดมาก เพราะการโค้ดของเราแทบจะทุกบรรทัดจะต้องมี type ของข้อมูลมารองรับ โดยเฉพาะเวลาเขียน function แต่ละครั้งจะต้องมี return type เสมอ แต่พอได้ใช้ไปสักพักจะรู้เลยว่า มันมีประโยชน์มากกก เพราะทุกอย่างจะมี type กำกับตัวมันเอง และข้อมูลก็จะออกมาตรงกับที่เราต้องการพอสมควร อันนี้มียกตัวอย่างให้ดู

//JS
function addNum(a,b){
return a+b;
}//call function
addNum('1','2')//output
'12'========================================//TS
function addNum(a:number,b:number):number{
return a+b;
}//call function
addNum(1,2)//output

3-- หากใส่ผิด type มันจะระเบิดก่อนได้ output แน่นอนครับ 555 --- ใช่ครับ ถ้ามันไม่มี type มารองรับ คุณเห็นใช่ไหมครับว่ามันสามารถเกิดบัคเล็ก ๆ แบบนี้ได้ ลองนึกภาพในมุมโปรเจกต์ใหญ่ ๆ ที่เราต้องจัดการข้อมูลเป็นร้อยเป็นพัน โอกาสเกิดอะไรแบบนี้สูงมากครับ

2. ง่ายกับการ Refactor Code มากกกกกกก

เป็นเรื่องยากมากที่เราจะเขียนโค้ดให้คลีนและตรง requirement ไปซะตั้งแต่ต้นจนจบ เราจะเจอการที่ต้องมาปรับเปลี่ยนโน่นนี่นั่นอยู่ตลอดเวลา ซึ่งเจ้า typescript นี่แหละครับ ช่วยผมได้เยอะมาก เพราะนอกจากจะง่ายต่อการหาจุดที่ต้องการจะแก้แล้วนั้น เวลาแก้ไม่ครบทุกจุด มันจะแจ้งเตือนไม่ให้ compile และจิกกัดคุณยิ่งกว่าไก่ จนคุณรำคาญและแก้มันไปเอง ฮ่า ๆๆๆ

3. ง่ายต่อการหา Bug มาก ๆ

เราจะได้เจอกับ error ต่าง ๆ ตั้งแต่ก่อนขั้นตอนของการ compile ซะอีก เพราะหากมีอะไรที่ไม่ตรงตามเงื่อนไขนิดหน่อยก็เจอเส้นแดงแจ้ง error ขึ้นมาให้เจ็บใจแล้ว ไม่ว่าจะเป็นเรื่อง value ไม่ตรง type , การชี้ไปหา key ที่ไม่มีใน type หรือ interface หรือแม้กระทั่งบัคที่เป็นทั่วไป ก็จะพบเจอได้ตั้งแต่ก่อนถึง compile stage เลยทีเดียว นับว่าประหยัดเวลาไปเยอะมากกกกกกกกก

4. การอ่านโค้ดง่ายขึ้นมาก

ไม่รู้ว่าอันนี้เป็นที่ typescript ไหม หรือที่ผ่านมาเราเขียนโค้ดเละเทะก็ไม่รู้ ฮ่าๆๆๆ แต่ตั้งแต่ใช้ typescript โค้ดเราเป็นระเบียบขึ้นมาก ๆ ไม่ว่าจะเป็นการจัดการ structure ของไฟล์ เพราะเราจะแยกทุกอย่างเป็นหมวดหมู่ขึ้นมาก ไม่ว่าจะเป็นตั้งแต่ interface ของ data ต่าง ๆ , การสร้าง models ให้กับ request และ response ต่าง ๆ ซึ่งมันดูเป็นระบบดีมาก ๆ และคนในทีมก็อ่านโค้ดได้ง่าย แก้ได้ง่าย

5. เป็นมิตรกับ IDE

อันนี้คือที่เราชอบมาก ๆ และสะดวกกับเรามาก ๆ เราไม่ต้องมาคอยพับจอไปมาเพื่อดูอีกต่อไปว่า data ที่เราได้มานี้ มี key อะไรให้เราเรียกใช้บ้าง เพราะด้วยความที่ทุกอย่างมี type เป็นของตัวเอง ดังนั้น IDE ก็จะ gen ขึ้นมาให้เราเห็นเลยว่า data นี้ มี key นี้นะให้เราชี้ไปได้ ไม่มีทางที่เราจะชี้ไปหาอะไรมั่ว ๆ ซั่ว ๆ ให้โค้ดเราพังได้เลย ถือว่าเป็นอะไรที่ดีสุด ๆ

© 2026 Nanpipat Klinpratoom. All Rights Reserved.