ภาษา TypeScript ถูกพัฒนาขึ้นมาสักพักหนึ่งและถูกใช้งานอย่างแพร่หลายมากขึ้น แล้วมันใช้ทำอะไรได้บ้าง มาหาคำตอบกันได้ที่นี่
มารู้จัก Typescript กันก่อน
TypeScript ที่จริงแล้วมันก็คือ JavaScript นั่นแหละ แต่จะพัฒนาให้มีประสิทธิภาพมากขึ้นโดยการเอาข้อเสียของ JavaScript มาปรับปรุงให้ดีขึ้น ซึ่งพัฒนาโดยบริษัท Microsoft สามารถรันบน Node.js หรือเบราว์เซอร์ใดๆ ก็ได้ที่รองรับ ECMAScript
ทำไมถึงต้องใช้ TypeScript กันล่ะ ?
TypeScript เป็นภาษาที่สามารถดักจับ error ก่อนที่จะรันโค้ดได้ ซึ่งจะแตกต่างกับ JavaScript ที่ไม่มีความสามารถตรงนี้ ต้องรันก่อนถึงจะรู้ว่าโค้ด error ตรงไหน อ่านไปก็จะไม่เห็นภาพ เรามาดูตัวอย่างโค้ดเปรียบเทียบกันให้เห็นภาพกันเลยดีกว่า
ตัวอย่างชุดคำสั่ง (JavaScript)
function number(num1, num2) {
return num1 + num2;
}
console.log(number(8, 9)); // Result: 17
console.log(number("8", 9)); // Result: 89
ผลลัพธ์จะแตกต่างกัน console.log(number(8, 9)); //Result: 17 เป็นผลลัพธ์ที่ถูกต้อง จะสังเกตได้ว่าพารามิเตอร์เป็น number ทั้ง 2 ตัวทำให้ผลลัพธ์บวกกันได้ 17 แต่ console.log(number(“8”, 9)); //Result: 89 ซึ่ง 8 เป็น String ผลลัพธ์ที่บวกกันได้ก็เลยเป็น 89 (เหมือนต่อ String เฉยๆ)
นั่นเป็นเพราะ JavaScript สามารถประกาศตัวแปรแบบไม่ต้องกำหนด Type ได้ เช่น Int, Float, Char ซึ่งมันจะทำให้เกิดความผิดพลาดในการรับ – ส่งค่าระหว่างตัวแปรได้ ถึงมันจะไม่แจ้งเตือน Error ตอนเราเขียน แต่มันจะมาขึ้นหลังจากเรารันโค้ดเสร็จแล้ว หากเป็นค่าที่ซับซ้อนกว่านี้ล่ะ ลองคิดดูว่าจะเกิดผลเสียแค่ไหน…
ตัวอย่างชุดคำสั่ง (TypeScript)
function number(num1:number, num2:number) {
return num1 + num2
}
console.log(number(8, 9)); // Result: 17
console.log(number("8", 9)); // Result: Error
ซึ่งมันจะขึ้น Alert ตั้งแต่เรายังไม่กดรันโค้ดแบบนี้เลยนะ
นั่นเป็นเพราะว่าค่าที่ส่งไปมี Type ไม่ตรงกัน (“8” เป็น String) เพราะ num1 และ num2 รับเฉพาะ Type ที่เป็น number เท่านั้น !!
ข้อดีของ TypeScript ก็คือมันจะทำให้โค้ดของเรามีประสิทธิภาพและอ่านง่ายมากขึ้น สามารถกันความผิดพลาดได้เลยในระดับนึงนะ
เป็นยังไงบ้างพอที่จะเห็นความแตกต่างของ TypeScript และ JavaScript กันแบบคร่าวๆ แล้วเนอะ
สรุป
TypeScript ก็คือ JavaScript ที่ถูกพัฒนาแล้ว ซึ่งมันจะช่วยให้เราพัฒนาโปรเจคให้มีประสิทธิภาพมากขึ้น สามารถจะกันความผิดพลาด หรือช่องโหว่ของ JavaScript ได้ดีเลยแหละ เพื่อนๆ ก็สามารถไปเลือกใช้ได้ตามความเหมาะสมของโปรเจคเลยนะ หากเนื้อหามีความผิดพลาดหรืออยากเพิ่มเติมอะไรสามารถมาแชร์กันได้เลยน้าา 😊