Operator in
Operator in proverava da li svojstvo
postoji na objektu ili nizu i vraća
true ili false.
Sintaksa
'svojstvo' in objekat;
Primer
Pogledajmo kako operator in radi:
let obj = {
name: 'Nick',
age: 23,
};
console.log('name' in obj); // true
console.log('age' in obj); // true
console.log('test' in obj); // false
Primer
Pogledajmo kako se operator
in može primeniti za proveru svojstva u
nizu:
let arr = ['green', 'red', 'blue', 'pink']
console.log(0 in arr); // true, postoji element sa tim indeksom
console.log(4 in arr); // false, ne postoji element sa tim indeksom
console.log('four' in arr); // false, potreban je indeks, a ne vrednost elementa
console.log('length' in arr); // true, niz ima to svojstvo
Primer
Često umesto in proveravaju da li je svojstvo u
logičkom kontekstu - true:
let obj = {
name: 'John',
height: '177',
};
if ('name' in obj) {} // provera u uslovu sa in
if (obj.name) {} // ali češće pišu ovako
Oba varijanta se mogu koristiti. Ali uvek
treba imati na umu da su prazan string, 0,
null, NaN i undefined u logičkom kontekstu
- false. Prema tome, ako svojstvo može
imati sličnu vrednost - treba koristiti in.