연산자 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 = ['green', 'red', 'blue', 'pink']

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을 사용해야 합니다.