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

Prapheth Kar Lawen Ni Typescript Khux Xari



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

คู่มือนี้จะอธิบายประเภทยูทิลิตี้ 'ละเว้น' ใน TypeScript

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

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







ไวยากรณ์



พิมพ์ NewType = ละเว้น < ประเภทที่มีอยู่ 'ชื่อคุณสมบัติ1' | 'ชื่อคุณสมบัติ2' | ... >

ไวยากรณ์ข้างต้นสามารถ “ ละเว้น ” คุณสมบัติหลายประการของ “ ประเภทที่มีอยู่ ” โดยแยกพวกมันออกด้วยความช่วยเหลือของ “ หรือ (|)” ตัวดำเนินการ



ลองใช้ยูทิลิตี้ประเภท 'ละเว้น' ที่กำหนดไว้ข้างต้นในทางปฏิบัติ





ตัวอย่างที่ 1: การใช้ “Omit” ด้วย Type Alias

ตัวอย่างนี้ใช้ประเภทยูทิลิตี “Omit” เพื่อสร้างประเภทใหม่จากประเภทที่มีอยู่



รหัส

คัดลอกบรรทัดโค้ดที่กำหนดในไฟล์ '.ts' ของโครงการ TypeScript:

พิมพ์ผู้ใช้ = {
ชื่อ : : เชือก,
อายุ : : ตัวเลข,
ที่ตั้ง : : เชือก
} ;

พิมพ์ UserWithoutAge = ละเว้น < ผู้ใช้ 'อายุ' >;

ค่าคงที่ ผู้ใช้โดยไม่ต้อง : : ผู้ใช้ไม่มีอายุ = {

ชื่อ : : 'หรือ' ,

ที่ตั้ง : : 'อิสลามาบัด'

} ;

คอนโซล บันทึก ( ผู้ใช้โดยไม่ต้อง ) ;

ในรหัสนี้:

  • ผู้ใช้ ” ถูกกำหนดด้วยชื่อคุณสมบัติ อายุ และที่ตั้งที่ระบุ
  • ต่อไป “ ผู้ใช้ไม่มีอายุ ” ประเภทใหม่จะถูกสร้างขึ้นจากประเภท “ผู้ใช้” ที่มีอยู่โดยการยกเว้นคุณสมบัติ “อายุ” โดยใช้เครื่องหมาย “ ละเว้น ” ประเภทยูทิลิตี้
  • หลังจากนั้นวัตถุ” ผู้ใช้โดยไม่ต้อง ” ประเภท “UserWithoutAge” ถูกสร้างขึ้นโดยระบุฟิลด์ทั้งหมดของประเภท “ผู้ใช้” ที่มีอยู่ ยกเว้น “อายุ”
  • สุดท้ายนี้ “ console.log() ” ใช้เพื่อแสดงวัตถุ “userwithoutage”

เอาท์พุต

รวบรวมไฟล์ “.ts” และเรียกใช้ไฟล์ “.js” ที่สร้างขึ้นโดยอัตโนมัติ:

ทีเอสซีหลัก เจส //ไฟล์ Compile.ts

โหนดหลัก เจส //เรียกใช้ไฟล์ .js

จะเห็นได้ว่าเทอร์มินัลแสดงเอาต์พุตของวัตถุประเภทใหม่ “UserWithoutAge”

ตัวอย่างที่ 2: การใช้ประเภท “Omit” ด้วยอินเทอร์เฟซ

ตัวอย่างนี้ใช้ประเภทยูทิลิตี “Omit” พร้อมอินเทอร์เฟซเพื่อสร้างประเภทใหม่

รหัส

อินเตอร์เฟซ ผู้ใช้ {

ชื่อ : : เชือก ;

อายุ : : ตัวเลข ;

ที่ตั้ง : : เชือก ;

}

พิมพ์ บุคคลใหม่ = ละเว้น < ผู้ใช้ 'อายุ' | 'ที่ตั้ง' >;

ค่าคงที่ บุคคล : : คนใหม่ = {

ชื่อ : : 'หรือ'

} ;

คอนโซล บันทึก ( บุคคล ) ;

ตอนนี้บรรทัดโค้ดที่ระบุ:

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

เอาท์พุต

รวบรวมและรันโค้ด:

ทีเอสซีหลัก เจส //ไฟล์ Compile.ts

โหนดหลัก เจส //เรียกใช้ไฟล์ .js

เทอร์มินัลแสดงเพียงค่าคุณสมบัติของประเภทใหม่ 'บุคคลใหม่' ที่ระบุในออบเจ็กต์เท่านั้น

ตัวอย่างที่ 3: การใช้ประเภท “Omit” ด้วย Function()

ตัวอย่างนี้ใช้ประเภท “Omit” พร้อมฟังก์ชันเพื่อส่งคืนออบเจ็กต์ของอินเทอร์เฟซที่ส่งผ่านเป็นอาร์กิวเมนต์ โดยการละเว้นคุณสมบัติบางอย่างของอินเทอร์เฟซที่มีอยู่

รหัส

อินเตอร์เฟซ ผู้ใช้ {

ชื่อ : : เชือก ;

อายุ : : ตัวเลข ;

ที่ตั้ง : : เชือก ;

}

ฟังก์ชัน getUserDetails ( ผู้ใช้ใหม่ : : ละเว้น < ผู้ใช้ 'ชื่อ' | 'ที่ตั้ง' > ) : : ตัวเลข {

กลับ ( ผู้ใช้ใหม่. อายุ )

}

ค่าคงที่ ผู้ใช้ใหม่ : : ผู้ใช้ = {

อายุ : : 40 ,

ชื่อ : : 'หรือ' ,

ที่ตั้ง : : 'อิสลามาบัด'

} ;

ค่าคงที่ รายละเอียดผู้ใช้ = getUserDetails ( ผู้ใช้ใหม่ ) ;

คอนโซล บันทึก ( รายละเอียดผู้ใช้ ) ;

ข้อมูลโค้ดด้านบน:

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

เอาท์พุต

ทีเอสซีหลัก เจส //ไฟล์ Compile.ts

โหนดหลัก เจส //เรียกใช้ไฟล์ .js

เทอร์มินัลจะแสดงเฉพาะ “ อายุ ” มูลค่าทรัพย์สินเนื่องจาก “ชื่อ” และ “ที่ตั้ง” ถูกแยกออกผ่านประเภทยูทิลิตี้ “ละเว้น”

บทสรุป

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