ตัวดำเนินการ in

ตัวดำเนินการ in ตรวจสอบว่าวัตถุหรืออาร์เรย์มีคุณสมบัติ หรือไม่ และส่งคืน true หรือ false

ไวยากรณ์

javascript'คุณสมบัติ' in วัตถุ;

ตัวอย่าง

มาดูกันว่าตัวดำเนินการ in ทำงานอย่างไร:

javascriptlet obj = {
  name: 'Nick',
  age:  23,
};

console.log('name' in obj); // true
console.log('age'  in obj); // true
console.log('test' in obj); // false

ตัวอย่าง

มาดูกันว่าเราจะใช้ตัวดำเนินการ in เพื่อตรวจสอบคุณสมบัติใน อาร์เรย์ได้อย่างไร:

javascriptlet arr = ['เขียว', 'แดง', 'น้ำเงิน', 'ชมพู']

console.log(0 in arr); // true, มีองค์ประกอบที่มีดัชนีนั้น
console.log(4 in arr); // false, ไม่มีองค์ประกอบที่มีดัชนีนั้น
console.log('four' in arr); // false, ต้องการดัชนี ไม่ใช่ค่าขององค์ประกอบ
console.log('length' in arr); // true, อาร์เรย์มีคุณสมบัตินี้

ตัวอย่าง

บ่อยครั้ง แทนที่จะใช้ in ก็จะตรวจสอบว่าคุณสมบัตินั้น ในบริบทเชิงตรรกะเป็น true:

javascriptlet obj = {
  name: 'John',
  height: '177',
};

if ('name' in obj) {} // การตรวจสอบในเงื่อนไขด้วย in
if (obj.name) {} // แต่บ่อยครั้งที่เขียนแบบนี้

สามารถใช้ได้ทั้งสองวิธี แต่ต้อง จำไว้เสมอว่าสตริงว่าง, 0, null, NaN และ undefined ในบริบทเชิงตรรกะ คือ false ดังนั้น หากคุณสมบัติสามารถ มีค่าดังกล่าวได้ - ควรใช้ in