บทความนี้จะสาธิตแนวคิดในการตรวจสอบว่าออบเจกต์เป็นคลาสอินสแตนซ์หรือไม่ใน JavaScript
จะตรวจสอบ / ยืนยันว่าวัตถุไม่ใช่อินสแตนซ์ของคลาสใน JavaScript ได้อย่างไร
ในการตรวจสอบว่าออบเจกต์เป็นอินสแตนซ์ของคลาสหรือไม่ใน JavaScript ให้ใช้วิธีการต่อไปนี้ร่วมกับ ' ตัวอย่าง ” ตัวดำเนินการ:
- “ ไม่ใช่ตรรกะ (!) ” โอเปอเรเตอร์
- “ ค่าบูลีน '.
มาอธิบายแนวทางทีละข้อกัน!
วิธีที่ 1: ตรวจสอบ/ยืนยันว่าออบเจกต์ไม่ใช่อินสแตนซ์ของคลาสใน JavaScript โดยใช้ตัวดำเนินการ Logical Not(!)
“ ตัวอย่าง ” โอเปอเรเตอร์ใน JavaScript ใช้เพื่อตรวจสอบประเภทของออบเจกต์ในขณะรันไทม์ “ ตรรกะ ” ตัวดำเนินการใช้เพื่อวิเคราะห์ตรรกะระหว่างค่าต่างๆ โดยเฉพาะอย่างยิ่ง ตรรกะ “ ไม่(!) ” ตัวดำเนินการให้ค่า “ จริง ” ถ้าระบุค่าเท็จ วิธีการเหล่านี้สามารถใช้ร่วมกันเพื่อตรวจสอบประเภทของวัตถุที่สร้างขึ้นโดยคำนึงถึงคลาสเฉพาะ
ไวยากรณ์
ชื่อ ตัวอย่าง พิมพ์
ในไวยากรณ์ข้างต้น:
- “ ชื่อ ” ชี้ไปที่ชื่อของวัตถุ
- “ พิมพ์ ” สอดคล้องกับประเภทของวัตถุ
ตัวอย่าง
มาดูภาพรวมตัวอย่างที่ระบุไว้ด้านล่าง:
< ประเภทสคริปต์ = 'ข้อความ/จาวาสคริปต์' >
ระดับ รถ { }
ระดับ จักรยาน { }
ให้ instClass = ใหม่ จักรยาน ( ) ;
ถ้า ( ! ( instClass ตัวอย่าง รถ ) ) {
คอนโซล บันทึก ( 'วัตถุไม่ใช่อินสแตนซ์ของคลาสคาร์' ) ;
}
อื่น {
คอนโซล บันทึก ( 'วัตถุเป็นตัวอย่างของคลาสคาร์' ) ;
}
สคริปต์ >
ในบรรทัดโค้ดด้านบน:
- สร้างสองคลาสชื่อ “ รถ ' และ ' จักรยาน ” ตามลำดับ
- ในขั้นตอนถัดไป สร้างวัตถุชื่อ “ instClass ” ด้วยความช่วยเหลือของ “ ใหม่ ” คำหลักและ “ จักรยาน() ” ตัวสร้างตามลำดับหมายถึงคลาส “ จักรยาน '.
- ตอนนี้ ใช้ตรรกะ “ ไม่(!) ” ตัวดำเนินการพร้อมกับ “ ตัวอย่าง ” ตัวดำเนินการเพื่อตรวจสอบอินสแตนซ์ของวัตถุที่เกี่ยวข้องกับคลาสที่ระบุ
- เมื่อเงื่อนไขเป็นที่พอใจ ' ถ้า ” เงื่อนไขจะดำเนินการ
- ในอีกสถานการณ์หนึ่ง ' อื่น คำสั่ง ” จะปรากฏขึ้น
เอาต์พุต
ดังที่เห็นได้จากเอาต์พุต อ็อบเจกต์ที่สร้างขึ้นคืออินสแตนซ์ของคลาส “ จักรยาน ” และไม่ใช่ “ รถ '.
วิธีที่ 2: ตรวจสอบว่าวัตถุไม่ใช่อินสแตนซ์ของคลาสใน JavaScript โดยใช้ค่าบูลีน
ค่า “ จริง ' และ ' เท็จ ” แทนค่าบูลีน ค่าเหล่านี้สามารถใช้เพื่อตรวจสอบออบเจกต์ที่เกี่ยวข้องกับคลาสตามค่าบูลีนและแสดงผลลัพธ์ที่สอดคล้องกัน
ตัวอย่าง
ตัวอย่างด้านล่างแสดงแนวคิดที่ระบุไว้:
ระดับ วิทยาลัย { }
ระดับ มหาวิทยาลัย { }
ให้ instClass = ใหม่ วิทยาลัย ( ) ;
ถ้า ( instClass ตัวอย่าง มหาวิทยาลัย == เท็จ ) {
คอนโซล บันทึก ( 'วัตถุไม่ใช่ตัวอย่างของมหาวิทยาลัยในชั้นเรียน' )
}
อื่น {
คอนโซล บันทึก ( 'วัตถุเป็นตัวอย่างของคลาสคาร์' ) ;
}
สคริปต์ >
ในข้อมูลโค้ดด้านบน:
- ในทำนองเดียวกัน สร้างสองคลาสชื่อ “ วิทยาลัย ' และ ' มหาวิทยาลัย ” ตามลำดับ
- หลังจากนั้นในทำนองเดียวกันให้สร้างวัตถุของคลาส “ วิทยาลัย ” ชื่อว่า “ instClass '.
- ตอนนี้ ใช้ “ ตัวอย่าง ” ตัวดำเนินการเพื่อตรวจสอบอินสแตนซ์ของวัตถุด้วยความช่วยเหลือของค่าบูลีนที่จัดสรร “ เท็จ '.
- ตามเงื่อนไขที่พอใจ ข้อความเดิมจะปรากฏขึ้น
- มิฉะนั้น ข้อความหลังใน “ อื่น ” เงื่อนไขจะดำเนินการ
เอาต์พุต
ผลลัพธ์ข้างต้นบ่งชี้ว่าเป็นไปตามข้อกำหนดที่ต้องการ
บทสรุป
“ ตัวอย่าง ” ตัวดำเนินการรวมกับ “ ไม่ใช่ตรรกะ (!) ” โอเปอเรเตอร์ หรือ “ ค่าบูลีน ” สามารถใช้เพื่อตรวจสอบว่าวัตถุไม่ใช่อินสแตนซ์ของคลาสใน JavaScript หรือไม่ วิธีการเหล่านี้สามารถนำไปใช้เพื่อสร้างวัตถุที่อ้างอิงถึงคลาสใดคลาสหนึ่งและตรวจสอบอินสแตนซ์ของคลาสนั้น หลังจากนั้น ผลลัพธ์ที่สอดคล้องกับตัวดำเนินการ not(!) ทางตรรกะหรือค่าบูลีน ตามลำดับ จะถูกส่งกลับ บล็อกนี้ได้รับคำแนะนำให้ตรวจสอบว่าวัตถุเป็นอินสแตนซ์ของคลาสหรือไม่ใน JavaScript