연산자 in
연산자 in는 객체나 배열에 속성이
있는지 확인하고 true 또는 false를
반환합니다.
구문
'속성' in 객체;
예시
연산자 in가 어떻게 동작하는지 살펴봅시다:
let obj = {
name: 'Nick',
age: 23,
};
console.log('name' in obj); // true
console.log('age' in obj); // true
console.log('test' in obj); // false
예시
배열에서 속성을 확인하기 위해 연산자
in를 어떻게 적용할 수 있는지 살펴봅시다:
let 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인지 확인합니다:
let obj = {
name: 'John',
height: '177',
};
if ('name' in obj) {} // in을 사용한 조건부 확인
if (obj.name) {} // 하지만 보통 이렇게 작성합니다
두 가지 방법 모두 사용할 수 있습니다. 하지만 항상
빈 문자열, 0, null, NaN 그리고
undefined가 논리적 맥락에서 false라는 점을
기억해야 합니다. 따라서 속성이 이러한 값을 가질 수 있다면
in을 사용해야 합니다.