ความแตกต่างระหว่าง TypeScript กับ JavaScript

สำหรับผู้ที่สนใจอาชีพโปรแกรมเม่อร์ หรือสนใจเรียนเขียนโปรแกรม ภาษา 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 โค๊ด