TypeScript - ภาพรวม
JavaScript ถูกนำมาใช้เป็นภาษาสำหรับฝั่งไคลเอ็นต์ การพัฒนา Node.js ได้ระบุว่า JavaScript เป็นเทคโนโลยีฝั่งเซิร์ฟเวอร์ที่เกิดขึ้นใหม่ด้วยเช่นกัน อย่างไรก็ตามเมื่อโค้ด JavaScript เติบโตขึ้นก็มีแนวโน้มที่จะยุ่งเหยิงทำให้ยากต่อการดูแลรักษาและนำโค้ดกลับมาใช้ใหม่ ยิ่งไปกว่านั้นความล้มเหลวในการยอมรับคุณสมบัติของ Object Orientation การตรวจสอบประเภทที่แข็งแกร่งและการตรวจสอบข้อผิดพลาดในการคอมไพล์ทำให้ JavaScript ไม่สามารถประสบความสำเร็จในระดับองค์กรในฐานะเทคโนโลยีฝั่งเซิร์ฟเวอร์เต็มรูปแบบTypeScript ถูกนำเสนอเพื่อเชื่อมช่องว่างนี้
TypeScript คืออะไร?
ตามความหมายแล้ว“ TypeScript คือ JavaScript สำหรับการพัฒนาระดับแอปพลิเคชัน”
TypeScript เป็นภาษาคอมไพล์ที่พิมพ์เชิงวัตถุอย่างมาก ได้รับการออกแบบโดยAnders Hejlsberg(ผู้ออกแบบ C #) ที่ Microsoft TypeScript เป็นทั้งภาษาและชุดเครื่องมือ TypeScript คือส่วนเหนือของ JavaScript ที่พิมพ์ไปคอมไพล์กับ JavaScript กล่าวอีกนัยหนึ่ง TypeScript คือ JavaScript พร้อมคุณสมบัติเพิ่มเติมบางอย่าง
คุณสมบัติของ TypeScript
TypeScript is just JavaScript. TypeScript เริ่มต้นด้วย JavaScript และลงท้ายด้วย JavaScript typescript ใช้ส่วนประกอบพื้นฐานของโปรแกรมของคุณจาก JavaScript ดังนั้นคุณจำเป็นต้องรู้ JavaScript เพื่อใช้ TypeScript เท่านั้น โค้ด TypeScript ทั้งหมดจะถูกแปลงเป็น JavaScript ที่เทียบเท่าเพื่อวัตถุประสงค์ในการเรียกใช้งาน
TypeScript supports other JS libraries. TypeScript ที่คอมไพล์สามารถใช้งานได้จากโค้ด JavaScript ใด ๆ JavaScript ที่สร้างด้วย TypeScript สามารถนำเฟรมเวิร์กเครื่องมือและไลบรารี JavaScript ที่มีอยู่ทั้งหมดมาใช้ใหม่ได้
JavaScript is TypeScript. ซึ่งหมายความว่าถูกต้อง.js ไฟล์สามารถเปลี่ยนชื่อเป็น .ts และคอมไพล์ด้วยไฟล์ TypeScript อื่น ๆ
TypeScript is portable. TypeScript สามารถพกพาได้ทั้งในเบราว์เซอร์อุปกรณ์และระบบปฏิบัติการ สามารถทำงานบนสภาพแวดล้อมใดก็ได้ที่ JavaScript ทำงาน ซึ่งแตกต่างจากคู่ของ TypeScript ไม่จำเป็นต้องมี VM เฉพาะหรือสภาพแวดล้อมรันไทม์เฉพาะในการดำเนินการ
TypeScript และ ECMAScript
ข้อกำหนด ECMAScript เป็นข้อกำหนดมาตรฐานของภาษาสคริปต์ มีการตีพิมพ์ ECMA-262 หกฉบับ เวอร์ชัน 6 ของมาตรฐานมีชื่อรหัสว่า "Harmony" TypeScript สอดคล้องกับข้อกำหนด ECMAScript6
TypeScript ใช้คุณสมบัติภาษาพื้นฐานจากข้อกำหนด ECMAScript5 นั่นคือข้อกำหนดอย่างเป็นทางการสำหรับ JavaScript คุณลักษณะของภาษา TypeScript เช่นโมดูลและการวางแนวตามคลาสสอดคล้องกับข้อกำหนด EcmaScript 6 นอกจากนี้ TypeScript ยังรวบรวมคุณสมบัติต่างๆเช่น generics และ type annotations ที่ไม่ได้เป็นส่วนหนึ่งของข้อกำหนด EcmaScript6
เหตุใดจึงต้องใช้ TypeScript
TypeScript เหนือกว่าคู่อื่น ๆ เช่น CoffeeScript และภาษาโปรแกรม Dart ในลักษณะที่ TypeScript ขยาย JavaScript ในทางตรงกันข้ามภาษาเช่น Dart, CoffeeScript เป็นภาษาใหม่ในตัวเองและต้องการสภาพแวดล้อมการดำเนินการเฉพาะภาษา
ประโยชน์ของ TypeScript ได้แก่ -
Compilation- JavaScript เป็นภาษาที่ตีความ ดังนั้นจึงจำเป็นต้องเรียกใช้เพื่อทดสอบว่าถูกต้อง หมายความว่าคุณเขียนโค้ดทั้งหมดเพียงเพื่อหาเอาต์พุตในกรณีที่มีข้อผิดพลาด ดังนั้นคุณต้องใช้เวลาหลายชั่วโมงในการพยายามค้นหาจุดบกพร่องในโค้ด ทรานสไพเลอร์ TypeScript มีคุณสมบัติการตรวจสอบข้อผิดพลาด TypeScript จะคอมไพล์โค้ดและสร้างข้อผิดพลาดในการคอมไพล์หากพบข้อผิดพลาดทางไวยากรณ์บางประเภท สิ่งนี้ช่วยในการเน้นข้อผิดพลาดก่อนที่สคริปต์จะทำงาน
Strong Static Typing- JavaScript ไม่ได้พิมพ์อย่างรุนแรง TypeScript มาพร้อมกับระบบการอนุมานประเภทสแตติกที่เป็นทางเลือกผ่าน TLS (TypeScript Language Service) ประเภทของตัวแปรที่ประกาศโดยไม่มีประเภทอาจอนุมานได้โดย TLS ตามค่าของตัวแปร
TypeScript supports type definitionsสำหรับไลบรารี JavaScript ที่มีอยู่ ไฟล์นิยาม TypeScript (พร้อมไฟล์.d.tsส่วนขยาย) ให้คำจำกัดความสำหรับไลบรารี JavaScript ภายนอก ดังนั้นรหัส TypeScript สามารถมีไลบรารีเหล่านี้ได้
TypeScript supports Object Oriented Programming แนวคิดเช่นคลาสอินเทอร์เฟซการสืบทอด ฯลฯ
ส่วนประกอบของ TypeScript
หัวใจหลัก TypeScript มีองค์ประกอบสามส่วนดังต่อไปนี้ -
Language - ประกอบด้วยไวยากรณ์คำหลักและคำอธิบายประกอบประเภท
The TypeScript Compiler - คอมไพเลอร์ TypeScript (tsc) แปลงคำสั่งที่เขียนใน TypeScript ให้เทียบเท่ากับ JavaScript
The TypeScript Language Service- "บริการภาษา" จะแสดงเลเยอร์เพิ่มเติมรอบ ๆ ไปป์ไลน์คอมไพเลอร์หลักซึ่งเป็นแอปพลิเคชันที่เหมือนตัวแก้ไข บริการภาษารองรับชุดทั่วไปของการดำเนินการแก้ไขทั่วไปเช่นการเติมคำสั่งการช่วยเหลือลายเซ็นการจัดรูปแบบโค้ดและการจัดเค้าร่างการทำให้เป็นสี ฯลฯ
ไฟล์ประกาศ
เมื่อสคริปต์ TypeScript ได้รับการคอมไพล์จะมีตัวเลือกในการสร้างไฟล์ declaration file (มีนามสกุล .d.ts) ที่ทำหน้าที่เป็นส่วนต่อประสานกับส่วนประกอบใน JavaScript ที่คอมไพล์แล้ว แนวคิดของไฟล์การประกาศนั้นคล้ายคลึงกับแนวคิดของไฟล์ส่วนหัวที่พบใน C / C ++ ไฟล์ประกาศ (ไฟล์ที่มี.d.ts ส่วนขยาย) ให้ intellisense สำหรับชนิดการเรียกใช้ฟังก์ชันและการสนับสนุนตัวแปรสำหรับไลบรารี JavaScript เช่น jQuery, MooTools เป็นต้น