สำหรับผู้ที่สนใจอาชีพโปรแกรมเม่อร์ หรือสนใจเรียนเขียนโปรแกรม ภาษา JavaScript คงเป็นหนึ่งในหลายๆภาษาอื่นที่คุณอาจจะเคยได้ยินหรือได้เห็นผ่านหูผ่านตามาบ้าง แล้วภาษา TypeScript ล่ะ? มันเหมือนกับภาษา JavaScript หรือเปล่า? ในบทความนี้เราจะมาดูกันว่าภาษา TypeScript นั้นคืออะไร และข้อแตกต่างระหว่าง TypeScript กับ JavaScript Programming มีอะไรบ้าง
JavaScript และ TypeScript คืออะไร?
สิ่งแรกที่ควรรู้เกี่ยวกับ JavaScript คือ JavaScript เป็น Scripting Language ซึ่งก็นับว่าเป็นหนึ่งในภาษาเขียนโปรแกรม แรกเริ่มถูกสร้างขึ้นมาเพื่อจุดประสงค์หลักคือใช้กับ Client-side และในภายหลังพบว่าสามารถนำมาใช้ในส่วนของ Server-side ได้ด้วย หลายปีต่อมาบริษัท Microsoft จึงพัฒนา TypeScript ขึ้นมาเพื่อให้สามารถใช้งานในส่วนของ Server-side ได้อย่างเต็มที่
TypeScript เป็น Superset ของ JavaScript หรือเรียกได้ว่า JavaScript เป็นส่วนหนึ่งของ TypeScript นั้นเอง โดยจะถูกใช้ในแอพพลิเคชั่นที่มีขนาดใหญ่และจะต้องแปลงให้เป็น JavaScript อีกทีเพราะบราวเซอร์ไม่เข้าใจภาษา TypeScript
คุณลักษณะของ TypeScript
- ต้องแปลงโปรแกรมที่เขียนด้วยภาษา TypeScript เป็น JavaScript
บราวเซอร์ไม่สามารถเข้าใจภาษา TypeScript ได้ จึงต้องแปลงภาษา TypeScript เป็นภาษา JavaScript โดยเราจะเรียกกระบรวนการนี้ว่า Tran-piled - JavaScript เป็นส่วนหนึ่งของ TypeScript
เราสามารถแปลงโปรแกรมที่เขียนด้วยภาษา JavaScript เป็น TypeScript ได้โดยการเปลี่ยน extension ของไฟล์จาก .js เป็น .ts - ใช้ JavaScript Libraries ได้
สามารถเรียกใช้ Libraries ใดๆก็ได้ของ JavaScript - ใช้ TypeScript ได้กับทุกระบบ
TypeScript สามารถใช้รันบนบราวเซอร์หรืออุปกรณ์อื่นๆได้ไม่ว่าจะเป็น operating system ใดๆก็ตาม
ข้อแตกต่างระหว่าง JavaScript กับ TypeScript
- JavaScript เป็นเพียง scripting language เท่านั้น ในขณะที่ TypeScript จะมีความเหนือกว่า คือเป็น Object-Oriented programming (OOP)
- TypeScript มีคุณลักษณะ Static Typing ช่วยตรวจสอบความถูกต้องของ Type ได้ในระหว่างที่ Compile แต่ JavaScript ไม่มีคุณลักษณะนี้
- TypeScript รองรับ Modules แต่ JavaScript ไม่รองรับ Modules
- TypeScript มี Interface ในขณะที่ JavaScript ไม่มี
- JavaScript มีกลุ่มผู้ใช้ใหญ่กว่าเพราะถูกใช้มานานมากแล้ว ในขณะที่ TypeScript ถูกนำมาใช้ 16 ปีให้หลัง JavaScript นั่นหมายความว่าหากโปรแกรม JavaScript ที่เขียนมีปัญหา เราจะสามารถหาวิธีแก้ปัญหาได้ง่ายกว่า TypeScript เพราะเรามักค้นหาปัญหาต่างๆและวิธีแก้ที่มีโปรแกรมเม่อร์คนอื่นๆเขียนวิธีแก้ไว้ให้บนอินเตอร์เน็ตในกลุ่มผู้ใช้ภาษา JavaScript ได้มากกว่า
ข้อดีของ TypeScript
- TypeScript จะบอกเราเสมอหากเกิด compilation errors ทำให้เราแก้ไขได้ก่อน ดังนั้นเราจะพบ errors เมื่อเขียนด้วย TypeScript ใน run-time ได้น้อยกว่า JavaScript
- มีคุณลักษณะ Static Typing ที่ช่วยตรวจสอบความถูกต้องของ Type ได้ในระหว่างที่ Compile
- ถูกสร้างบน JavaScript ทำให้มีคุณลักษณะทุกอย่างของ JavaScript แต่เพิ่มคุณลักษณะอื่นๆที่มากกว่า
ข้อเสียของ TypeScript
- จำเป็นต้องใช้เวลาในการ compile โค๊ด