ตรวจสอบว่า Object ไม่ใช่อินสแตนซ์ของคลาสใน JavaScript หรือไม่

Trwc Sxb Wa Object Mi Chi Xin S Taen S Khxng Khlas Ni Javascript Hrux Mi



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

บทความนี้จะสาธิตแนวคิดในการตรวจสอบว่าออบเจกต์เป็นคลาสอินสแตนซ์หรือไม่ใน JavaScript

จะตรวจสอบ / ยืนยันว่าวัตถุไม่ใช่อินสแตนซ์ของคลาสใน JavaScript ได้อย่างไร

ในการตรวจสอบว่าออบเจกต์เป็นอินสแตนซ์ของคลาสหรือไม่ใน JavaScript ให้ใช้วิธีการต่อไปนี้ร่วมกับ ' ตัวอย่าง ” ตัวดำเนินการ:







  • ไม่ใช่ตรรกะ (!) ” โอเปอเรเตอร์
  • ค่าบูลีน '.

มาอธิบายแนวทางทีละข้อกัน!



วิธีที่ 1: ตรวจสอบ/ยืนยันว่าออบเจกต์ไม่ใช่อินสแตนซ์ของคลาสใน JavaScript โดยใช้ตัวดำเนินการ Logical Not(!)

ตัวอย่าง ” โอเปอเรเตอร์ใน JavaScript ใช้เพื่อตรวจสอบประเภทของออบเจกต์ในขณะรันไทม์ “ ตรรกะ ” ตัวดำเนินการใช้เพื่อวิเคราะห์ตรรกะระหว่างค่าต่างๆ โดยเฉพาะอย่างยิ่ง ตรรกะ “ ไม่(!) ” ตัวดำเนินการให้ค่า “ จริง ” ถ้าระบุค่าเท็จ วิธีการเหล่านี้สามารถใช้ร่วมกันเพื่อตรวจสอบประเภทของวัตถุที่สร้างขึ้นโดยคำนึงถึงคลาสเฉพาะ



ไวยากรณ์





ชื่อ ตัวอย่าง พิมพ์

ในไวยากรณ์ข้างต้น:

  • ชื่อ ” ชี้ไปที่ชื่อของวัตถุ
  • พิมพ์ ” สอดคล้องกับประเภทของวัตถุ

ตัวอย่าง
มาดูภาพรวมตัวอย่างที่ระบุไว้ด้านล่าง:



< ประเภทสคริปต์ = 'ข้อความ/จาวาสคริปต์' >
ระดับ รถ { }
ระดับ จักรยาน { }
ให้ instClass = ใหม่ จักรยาน ( ) ;
ถ้า ( ! ( instClass ตัวอย่าง รถ ) ) {
คอนโซล บันทึก ( 'วัตถุไม่ใช่อินสแตนซ์ของคลาสคาร์' ) ;
}
อื่น {
คอนโซล บันทึก ( 'วัตถุเป็นตัวอย่างของคลาสคาร์' ) ;
}
สคริปต์ >

ในบรรทัดโค้ดด้านบน:

  • สร้างสองคลาสชื่อ “ รถ ' และ ' จักรยาน ” ตามลำดับ
  • ในขั้นตอนถัดไป สร้างวัตถุชื่อ “ instClass ” ด้วยความช่วยเหลือของ “ ใหม่ ” คำหลักและ “ จักรยาน() ” ตัวสร้างตามลำดับหมายถึงคลาส “ จักรยาน '.
  • ตอนนี้ ใช้ตรรกะ “ ไม่(!) ” ตัวดำเนินการพร้อมกับ “ ตัวอย่าง ” ตัวดำเนินการเพื่อตรวจสอบอินสแตนซ์ของวัตถุที่เกี่ยวข้องกับคลาสที่ระบุ
  • เมื่อเงื่อนไขเป็นที่พอใจ ' ถ้า ” เงื่อนไขจะดำเนินการ
  • ในอีกสถานการณ์หนึ่ง ' อื่น คำสั่ง ” จะปรากฏขึ้น

เอาต์พุต

ดังที่เห็นได้จากเอาต์พุต อ็อบเจกต์ที่สร้างขึ้นคืออินสแตนซ์ของคลาส “ จักรยาน ” และไม่ใช่ “ รถ '.

วิธีที่ 2: ตรวจสอบว่าวัตถุไม่ใช่อินสแตนซ์ของคลาสใน JavaScript โดยใช้ค่าบูลีน

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

ตัวอย่าง
ตัวอย่างด้านล่างแสดงแนวคิดที่ระบุไว้:

< ประเภทสคริปต์ = 'ข้อความ/จาวาสคริปต์' >
ระดับ วิทยาลัย { }
ระดับ มหาวิทยาลัย { }
ให้ instClass = ใหม่ วิทยาลัย ( ) ;
ถ้า ( instClass ตัวอย่าง มหาวิทยาลัย == เท็จ ) {
คอนโซล บันทึก ( 'วัตถุไม่ใช่ตัวอย่างของมหาวิทยาลัยในชั้นเรียน' )
}
อื่น {
คอนโซล บันทึก ( 'วัตถุเป็นตัวอย่างของคลาสคาร์' ) ;
}
สคริปต์ >

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

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

เอาต์พุต

ผลลัพธ์ข้างต้นบ่งชี้ว่าเป็นไปตามข้อกำหนดที่ต้องการ

บทสรุป

ตัวอย่าง ” ตัวดำเนินการรวมกับ “ ไม่ใช่ตรรกะ (!) ” โอเปอเรเตอร์ หรือ “ ค่าบูลีน ” สามารถใช้เพื่อตรวจสอบว่าวัตถุไม่ใช่อินสแตนซ์ของคลาสใน JavaScript หรือไม่ วิธีการเหล่านี้สามารถนำไปใช้เพื่อสร้างวัตถุที่อ้างอิงถึงคลาสใดคลาสหนึ่งและตรวจสอบอินสแตนซ์ของคลาสนั้น หลังจากนั้น ผลลัพธ์ที่สอดคล้องกับตัวดำเนินการ not(!) ทางตรรกะหรือค่าบูลีน ตามลำดับ จะถูกส่งกลับ บล็อกนี้ได้รับคำแนะนำให้ตรวจสอบว่าวัตถุเป็นอินสแตนซ์ของคลาสหรือไม่ใน JavaScript