Toán tử in

Toán tử in kiểm tra xem một đối tượng hoặc mảng có thuộc tính đó không và trả về true hoặc false.

Cú pháp

javascript'thuộc tính' in đối_tượng;

Ví dụ

Hãy xem toán tử in hoạt động như thế nào:

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

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

Ví dụ

Hãy xem cách có thể áp dụng toán tử in để kiểm tra thuộc tính trong mảng:

javascriptlet arr = ['green', 'red', 'blue', 'pink']

console.log(0 in arr); // true, có phần tử với chỉ số này
console.log(4 in arr); // false, không có phần tử với chỉ số này 
console.log('four' in arr); // false, cần chỉ số, không phải giá trị phần tử
console.log('length' in arr); // true, mảng có thuộc tính này 

Ví dụ

Thường thay vì in, người ta kiểm tra xem thuộc tính trong ngữ cảnh logic - true:

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

if ('name' in obj) {} // kiểm tra trong điều kiện với in
if (obj.name) {} // nhưng thường viết thế này

Cả hai cách đều có thể sử dụng. Nhưng luôn nhớ rằng chuỗi rỗng, 0, null, NaN và undefined trong ngữ cảnh logic là false. Do đó, nếu thuộc tính có thể có giá trị như vậy - nên sử dụng in.