in Operatörü

in operatörü, bir nesnede veya dizide özellik olup olmadığını kontrol eder ve true ya da false döndürür.

Sözdizimi

javascript'özellik' in nesne;

Örnek

in operatörünün nasıl çalıştığına bakalım:

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

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

Örnek

in operatörünün bir dizide özellik kontrolü için nasıl kullanılabileceğine bakalım:

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

console.log(0 in arr); // true, bu indekste bir eleman var
console.log(4 in arr); // false, bu indekste eleman yok 
console.log('four' in arr); // false, eleman değeri değil, indeks gerekli
console.log('length' in arr); // true, dizinin böyle bir özelliği var 

Örnek

Genellikle in yerine, bir özelliğin mantıksal bağlamda - true olup olmadığı kontrol edilir:

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

if ('name' in obj) {} // in ile koşul kontrolü
if (obj.name) {} // ama daha çok böyle yazılır

Her iki seçenek de kullanılabilir. Ancak boş string, 0, null, NaN ve undefined değerlerinin mantıksal bağlamda - false olduğunu her zaman akılda tutmak gerekir. Bu nedenle, eğer bir özellik bu tür bir değere sahip olabilirse - in kullanmak gerekir.