TypeScript - JavaScript ที่ไม่มีความประหลาดใจ

ใช่TypeScript ก็เหมือนกับ JavaScript แต่ก็ไม่น่าแปลกใจ นั่นคือวิธีที่ฉันอธิบายภาษาโปรแกรมโอเพ่นซอร์สที่ Microsoft แนะนำในปี 2012 เมื่อปีที่แล้ว Github ติดอันดับหนึ่งใน 10 ภาษาโปรแกรมที่ต้องการมากที่สุด แต่ทำไมนักพัฒนาถึงชอบการสร้างของ Microsoft มากกว่า JavaScript? มาหาคำตอบกัน!

ทำไมไม่ใช้ JavaScript?

JavaScript เป็นภาษาอันดับหนึ่งมาหลายปีแล้ว มันเปลี่ยนการพัฒนาเว็บอย่างสมบูรณ์โดยมอบชีวิตให้กับเว็บไซต์ที่ตายไปก่อนหน้านี้ ด้วยกรอบงานมากมายจึงใช้สำหรับการพัฒนาแบ็กเอนด์และแอปพลิเคชันมือถือด้วย

แต่ JavaScript ถูกสร้างขึ้นเพื่อสร้างแอปพลิเคชันระดับองค์กรหรือไม่? ฉันแทบจะไม่คิดอย่างนั้น นั่นคือสิ่งที่ typescript ในขั้นตอน. typescript เป็น JavaScript กับการพิมพ์แบบคงที่ และส่วนที่ดีที่สุดก็ยังคงเป็นทางเลือก การเพิ่มการพิมพ์แบบคงที่ใน JavaScript มีประโยชน์มากมาย คุณจะไม่เห็นสิ่งนั้นundefinedปรากฏขึ้นในแอปพลิเคชันของคุณอีกต่อไป Refactoring code จะไม่ใช่ฝันร้ายอีกต่อไป และอื่น ๆ อีกมากมาย. การศึกษาแสดงให้เห็นว่า TypeScript สามารถตรวจพบข้อบกพร่องของ JavaScript ได้ 15%

ประเภท - ความแตกต่างระหว่าง JS และ TS

ภาษาโปรแกรมแบ่งออกเป็นสองประเภท: พิมพ์แบบคงที่หรือพิมพ์แบบไดนามิก

พิจารณาข้อมูลโค้ดต่อไปนี้ของ JavaScript - ภาษาที่พิมพ์แบบไดนามิกเช่น Python:

function add(num){
   console.log(num + 5);
}

ตอนนี้ให้พิจารณาฟังก์ชันเดียวกันใน TypeScript - ภาษาที่พิมพ์แบบคงที่เช่น Java:

function add(num: number){
   console.log(num + 5);
}

ประโยชน์ของการพิมพ์แบบคงที่

  • ช่วยให้เราประหยัดเวลาและตรวจสอบว่าเหตุใดอินพุตของเราจึงไม่ใช่ประเภทที่เราคิดว่าเป็นแบบทันทีแทนที่จะใช้เวลาในภายหลัง
  • ทุกอย่างยังคงเป็นไปตามที่ตั้งใจไว้ในตอนแรก หากมีการประกาศตัวแปรเป็นสตริงตัวแปรนั้นจะยังคงเป็นสตริงตลอดเวลา
  • การเพิ่มประเภทที่เข้มงวดทำให้โค้ดอ่านง่ายขึ้น รหัสที่พูดเพื่อตัวเองสามารถชดเชยการขาดการสื่อสารโดยตรงระหว่างสมาชิกในทีม
  • ข้อมูลเกี่ยวกับประเภทช่วยให้ IDE ช่วยเราในการนำทางโค้ดการเติมข้อความอัตโนมัติและคำแนะนำที่ถูกต้อง นอกจากนี้เรายังได้รับคำติชมขณะพิมพ์ ทั้งหมดนี้ช่วยให้เราเขียนโค้ดที่บำรุงรักษาได้และส่งผลให้เพิ่มประสิทธิผลอย่างมาก

ทุกอุปกรณ์เบราว์เซอร์หรือแพลตฟอร์มที่รัน JavaScript สามารถเรียกใช้ TypeScript ได้เช่นกัน เพราะนี่คือรหัส typescript จะรวบรวมเพื่อวานิลลา JS ก่อนที่จะดำเนินการโดยTSC - TypeScriptCompiler IDE ที่รองรับ TypeScript มักจะมีสิ่งนี้ในตัวและสามารถเรียกใช้จากบรรทัดคำสั่ง อนุญาตให้แปลงโค้ดเบสหรือบางส่วนโดยการเพิ่มtsconfig.jsonลงในไดเร็กทอรีราก

TypeScript ไม่ได้จัดส่งเป็น.tsไฟล์ แต่เป็น.jsและ.d.tsไฟล์ ด้วยไฟล์ TypeScript main.tstsc สามารถแปลงไฟล์เป็นอาร์ติแฟกต์ต่างๆได้ สิ่งที่พบบ่อยที่สุด ได้แก่ :

  • ไฟล์ JavaScript: main.js(มีรหัส vanilla js ที่สร้างโดยรหัส ts ของเรา)
  • ไฟล์ประกาศ: main.d.ts(ไฟล์นี้มีข้อมูลประเภท)
  • ไฟล์แผนที่ต้นทาง: main.js.map(ระบุสำหรับแต่ละส่วนของรหัสเอาต์พุตในmain.jsส่วนใดของรหัสอินพุตที่main.tsสร้างขึ้น)

คอมไพเลอร์ typescript ยังสามารถประมวลผลรหัสวานิลลา JavaScript allowsJsโดยใช้ตัวเลือก ดังนั้นเมื่อย้ายจาก JavaScript ไปยัง TypeScript เราสามารถเริ่มต้นด้วยการผสมผสานของทั้งสองอย่างและค่อยๆแปลงโค้ด JavaScript เพิ่มเติมเป็น TypeScript

ช่วยให้เราสามารถพิมพ์ตรวจสอบไฟล์ JavaScript โดยใช้checkJsสำหรับ codebase ที่สมบูรณ์หรือใส่@ts-checkเป็นความคิดเห็นในไฟล์ใดไฟล์หนึ่ง

ใช้ข้อมูลประเภทคงที่ที่จัดทำโดยความคิดเห็นของ JSDoc ในความเป็นจริงเราสามารถพิมพ์โค้ด JavaScript แบบคงที่ได้อย่างสมบูรณ์และยังสามารถรับไฟล์การประกาศจากไฟล์เหล่านั้นได้อีกด้วย ตัวอย่างความคิดเห็นง่ายๆของ JSDoc สามารถ:

/**
 * @param {number} x - A number param.
 * @returns {number} This is the result.
 */
function add(num){
   return num + 5;
}

จริงๆแล้วมีเพียงไม่กี่คนที่แจ้งให้ฉันทราบ แต่นี่คือบางส่วนที่ฉันคิดว่าอาจช่วยคุณได้:

  • ไม่ใช่การพิมพ์แบบคงที่จริง - การพิมพ์แบบคงที่ใน TypeScript นั้นแตกต่างจาก Java, C ++ หรือ C # ในที่สุดโค้ดของเราจะถูกเปลี่ยนเป็น JavaScript ดังนั้นจึงมีความเสี่ยงที่จะเกิดการแปลงแบบแปลก ๆ ในขณะรันไทม์
  • Bloated code - เราจะต้องเขียนโค้ดเพิ่มเติมเป็นประเภทที่สามารถชะลอกระบวนการพัฒนาได้ นอกจากนี้ยังทำให้ไฟล์ TS มีขนาดใหญ่กว่า JS เนื่องจากมีโค้ดพิเศษ แต่ทั้งหมดนี้จะหายไปหลังจากเกิดขึ้น ในท้ายที่สุดเบราว์เซอร์จะเรียกใช้ JavaScript ธรรมดา
  • ขั้นตอนการคอมไพล์เพิ่มเติม - เราจำเป็นต้องโอนโค้ด TypeScript ไปยัง JavaScript ก่อนที่จะรัน อย่างไรก็ตามกระบวนการนี้เป็นแบบอัตโนมัติและไม่ต้องใช้เวลาเพิ่มเติมมากนัก กล่าวโดยสรุปข้อเสียของขั้นตอนนี้มีความสำคัญน้อยกว่าประโยชน์ของขั้นตอนนี้มาก

TypeScript เป็นภาษาโปรแกรมโอเพ่นซอร์สที่มีชุมชนเติบโตขึ้นเรื่อย ๆ มันถูกสร้างขึ้นโดย Microsoft และตอนนี้ใช้งานโดย Asana, Slack, Lyft, นักพัฒนา Angular 2+ ทั้งหมด, นักพัฒนา React และ Vue หลายคนและ บริษัท อื่น ๆ อีกหลายพัน บริษัท มันเป็นซูเปอร์เซ็ต JavaScript ที่ได้รับความนิยมมากที่สุดในขณะนี้อย่างไม่ต้องสงสัยและจะไม่เกิดขึ้นเร็ว ๆ นี้

ที่มีการปรับปรุงใหม่ที่เข้ามาใน typescript ที่อยู่เบื้องหลังความคิดหลักคือเพื่อนำผลผลิต, ความน่าเชื่อถือและการคาดการณ์ไปทั่วโลก จริงๆแล้วฉันอยากฟังเหตุผลที่ไม่ใช้ TypeScript ในตอนนี้

มาเริ่ม TypeScripting coders กันเลย!

Suggested posts

การค้นหาข้อมูลเกี่ยวกับชื่อโดเมน

ตัดตอนมาจาก Small, Sharp Software Tools โดย Brian P. Hogan

การค้นหาข้อมูลเกี่ยวกับชื่อโดเมน

เมื่อคุณส่งคำขอไปที่ facebook.com คอมพิวเตอร์ของคุณจะค้นหาชื่อโดเมนเพื่อแปลชื่อโดเมนนั้นเป็นที่อยู่ IP เพื่อให้คอมพิวเตอร์ของคุณสามารถเชื่อมต่อได้

D-word และ L-word ในการออกแบบ UI เรื่องภาษา อย่าเหยียดเชื้อชาติ

D-word และ L-word ในการออกแบบ UI เรื่องภาษา อย่าเหยียดเชื้อชาติ

ภาษาของเราเป็นเครื่องมืออันทรงพลังที่สามารถกำหนดความคิด ทัศนคติ และการกระทำของเรา แม้แต่คำที่ดูเหมือนไม่เป็นอันตรายก็สามารถขยายเวลาอคติและแบบแผนที่เป็นอันตรายได้

Related posts

ชีวิตไร้ขีดจำกัด

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

การรวบรวม OSINT เพื่อการล่าภัยคุกคาม

การรวบรวม OSINT เพื่อการล่าภัยคุกคาม

สวัสดีชาวไซเบอร์! ยินดีต้อนรับกลับสู่ OSINT สำหรับซีรี่ส์การล่าภัยคุกคาม ในบทความแรก ฉันได้ให้ภาพรวมของ OSINT และความสำคัญในการตามล่าภัยคุกคาม

การแสดงเดี่ยวของสาวผมแดง

เมื่อได้รับมอบหมายจากเฮย์เดน เคธี่ถ่ายคลิปตัวเองช่วยตัวเอง

การแสดงเดี่ยวของสาวผมแดง

หลังเที่ยงคืน Hayden ขับรถพา Katie กลับไปที่หอพักของวิทยาลัยหลังจากพวกเขาอยู่ด้วยกันในตอนเย็น เธอมีเรียนแต่เช้าและไม่มีเสื้อผ้าเปลี่ยนอีกหลังจากค้างกับเขาเมื่อคืนก่อน

คลังข้อมูลภัยคุกคามนั้น: เล่มที่ 7 Black Basta

คลังข้อมูลภัยคุกคามนั้น: เล่มที่ 7 Black Basta

ในโลกที่เชื่อมต่อถึงกันทุกวันนี้ ภัยคุกคามจากการโจมตีทางไซเบอร์นั้นแพร่หลายมากขึ้นกว่าเดิม อาชญากรไซเบอร์และผู้มีบทบาทในระดับชาติพยายามใช้ประโยชน์จากช่องโหว่และขโมยข้อมูลที่มีค่าอย่างต่อเนื่อง ซึ่งก่อให้เกิดความเสี่ยงที่สำคัญต่อองค์กรทุกขนาด