สิ่งที่ตรงกันข้ามของการละเว้นใน TypeScript คืออะไร?

Sing Thi Trng Kan Kham Khxng Kar Lawen Ni Typescript Khux Xari



เมื่อคุณสมบัติบางอย่างของอินเทอร์เฟซจำเป็นสำหรับกระบวนการดำเนินการ คุณสมบัติที่ไม่จำเป็นจะกลายเป็นสาเหตุหลักของประสิทธิภาพต่ำ เนื่องจากขณะนี้ใช้พื้นที่เพียงอย่างเดียว ใน JavaScript ไม่มีวิธีใดที่จะแยกคุณสมบัติที่ไม่จำเป็นของอินเทอร์เฟซในขณะที่ดำเนินการได้ โชคดี! จุดอ่อนหรือกรณีการใช้งานนี้ได้รับการจัดการโดย TypeScript เนื่องจากมียูทิลิตี้ประเภท 'Omit' และ 'Pick' ซึ่งช่วยได้มากในการเลือกเฉพาะคุณสมบัติเฉพาะ

บล็อกนี้จะอธิบายประเภทละเว้นและสิ่งที่ตรงกันข้ามใน TypeScript โดยครอบคลุมหัวข้อเหล่านี้:







  • ประเภทละเว้นใน TypeScript คืออะไร
  • สิ่งที่ตรงกันข้ามกับประเภทละเว้นใน TypeScript คืออะไร

ประเภทละเว้นใน TypeScript คืออะไร

ไทป์สคริปต์ 'ละเว้น' type สร้างอินเทอร์เฟซใหม่จากที่ให้ไว้ “” และข้ามหรือแยกคุณสมบัติที่ให้ไว้เป็น 'สำคัญ' . รับและจัดการค่าสำหรับคุณสมบัติที่เหลือทั้งหมด และไม่ยอมรับค่าสำหรับคุณสมบัติที่ส่งผ่านเป็น 'สำคัญ' . พูดง่ายๆ ก็คือ. 'ละเว้น' Type ไม่รวมคุณสมบัติที่ส่งผ่านเป็น 'คีย์' และคุณสมบัติที่เหลือยังคงเหมือนเดิม



ไวยากรณ์
ไวยากรณ์สำหรับ Omit Type ใน TypeScript ระบุไว้ด้านล่าง:



ละเว้น < ประเภทสาธิต, คีย์1 | คีย์2 >

ที่ไหน “ประเภทสาธิต” คืออินเทอร์เฟซที่มี 'คีย์ 1' และ “คีย์2” คุณสมบัติจะถูกเพิ่มเข้าไปใหม่ 'พิมพ์' ที่สร้างขึ้นผ่านทาง 'ละเว้น' .





ตัวอย่างที่จะเข้าใจ 'ละเว้น' ประเภทระบุไว้ด้านล่าง:

พิมพ์ linuxhintType = {
fName: สตริง;
lชื่อ: สตริง;
อายุ: หมายเลข;
}

พิมพ์ newType = ละเว้น;

เฉพาะ const: newType = {
ฉชื่อ: 'จอห์น' ,
lชื่อ: 'โด้'
} ;

console.log ( specific.age, specific.fName ) ;

คำอธิบายของรหัสข้างต้น:



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

หลังจากการคอมไพล์ หน้าต่างคอนโซลจะมีลักษณะดังนี้:

สแน็ปช็อตหน้าต่างคอนโซลแสดงว่ามีการสร้างข้อผิดพลาดประเภทขณะเข้าถึงสิ่งที่แยกออก 'อายุ' คุณสมบัติ. สำหรับคำอธิบายเพิ่มเติมเกี่ยวกับประเภท 'ละเว้น' คุณสามารถไปที่เว็บไซต์ที่เกี่ยวข้องของเรา บทความ

สิ่งที่ตรงกันข้ามกับประเภทละเว้นใน TypeScript คืออะไร

ใน TypeScript ตรงกันข้ามกับ 'ละเว้น' คือ 'เลือก' พิมพ์. ประเภทนี้เลือกหรือเลือกคุณสมบัติเฉพาะที่จะพร้อมใช้งาน และคุณสมบัติที่เหลือทั้งหมดที่ไม่ได้รับการเลือกจะถูกแยกออก นั่นก็คือ ตรงกันข้ามกับ 'ละเว้น' พิมพ์. ใช้เวลาสองข้อโต้แย้งที่เหมือนกัน 'พิมพ์' และ 'สำคัญ' ที่ไหน 'พิมพ์' คืออินเทอร์เฟซหรือคลาสที่มี 'สำคัญ' รวมคุณสมบัติและส่วนที่เหลือจะถูกยกเว้น ในกรณีที่มีทรัพย์สินหลายรายการ แต่ละทรัพย์สินจะถูกแยกออกจากกันโดยใช้ “สหภาพ” ตัวดำเนินการ “|”.

ไวยากรณ์
ไวยากรณ์สำหรับ Pick Type ใน TypeScript มีการระบุไว้ด้านล่าง:

เลือก < ประเภทสาธิต, คีย์1 | คีย์2 | คีย์3 >

ที่ไหน, “ประเภทสาธิต” คืออินเทอร์เฟซ คลาส หรือประเภทที่มี 'คีย์1' , “คีย์2” , และ “คีย์3” คุณสมบัติถูกเลือก

ตอนนี้เรามาดูตัวอย่างเพื่อให้ชัดเจนยิ่งขึ้น

ตัวอย่าง: การเลือกคุณสมบัติเฉพาะ

ในกรณีนี้ คุณสมบัติเฉพาะจากอินเทอร์เฟซหรือคลาสจะถูกเลือกโดยใช้ประเภท 'เลือก' และคุณสมบัติที่เหลือจะถูกแยกออกทั้งหมด ดังที่แสดงด้านล่าง:

อินเทอร์เฟซลินุกซ์คำแนะนำInter {
fName: สตริง;
lชื่อ: สตริง;
อายุ: หมายเลข;
}
พิมพ์ newType = เลือก;
เฉพาะ const: newType = {
ฉชื่อ: 'จอห์น' ,
lชื่อ: 'ทำ' , อายุ: 3. 4 } ;

คำอธิบายของรหัสข้างต้น:

  • ขั้นแรกให้อินเทอร์เฟซ 'ลินุกซ์ชินท์อินเตอร์' ถูกสร้างขึ้นโดยมีคุณสมบัติสามประการชื่อ “ฉชื่อ” , “ชื่อ” , และ 'อายุ' .
  • ต่อไป 'เลือก' type ถูกใช้โดยรับอินเทอร์เฟซเป็นพารามิเตอร์แรก และ 'อายุ' และ “ฉชื่อ” เป็นพารามิเตอร์ตัวที่สองคั่นด้วยตัวดำเนินการ Union “|” .
  • นี้ 'เลือก' type กำหนดประเภทใหม่ชื่อ “ชนิดใหม่” ซึ่งรวมถึงเท่านั้น 'อายุ' และ “ฉชื่อ” คุณสมบัติและไม่รวมคุณสมบัติที่เหลือทั้งหมดเช่น “ชื่อ” .
  • งั้นตั้งตามนี้ “ชนิดใหม่” เป็นประเภทสำหรับตัวแปร 'เฉพาะ' และพยายามแก้ไขคุณสมบัติอินเทอร์เฟซทั้งหมด สิ่งนี้จะทำให้เกิดข้อผิดพลาดเนื่องจากมีเฉพาะคุณสมบัติเฉพาะเท่านั้น

หลังจากการคอมไพล์ หน้าต่างคอนโซลจะมีลักษณะดังนี้:

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

คุณได้เรียนรู้เกี่ยวกับประเภทที่ทำงานตรงข้ามกับการละเว้นใน TypeScript

บทสรุป

ตรงกันข้ามกับ 'ละเว้น' ประเภทใน TypeScript คือ 'เลือก' type ซึ่งสร้างประเภทใหม่ซึ่งรวมถึงเฉพาะคุณสมบัติที่ให้มา และไม่รวมคุณสมบัติที่เหลือทั้งหมดของอินเทอร์เฟซหลัก ในขณะที่ 'ละเว้น' พิมพ์ TypeScript สร้างประเภทใหม่ด้วย แต่ไม่รวมคุณสมบัติที่ให้ไว้ทั้งหมด และยอมรับหรือรวมคุณสมบัติที่เหลือ บทความนี้แสดงให้เห็นถึงสิ่งที่ตรงกันข้ามกับ Omit Type ใน TypeScript