JavaScript의 "in" 연산자 이해
JavaScript의 "in" 연산자는 일반적으로 속성이나 키가 존재하는지 확인하는 데 사용됩니다. 개체에서. 그러나 배열에 "0"이 있는지 테스트할 때 특이한 동작이 발생합니다.
문제: 예상치 못한 참 결과
값 "0"이 없는 배열에서 "인 경우 다음 표현식은 true로 평가됩니다.
var x = [1,2]; 0 in x;
"0"이 배열에 시각적으로 존재하지 않기 때문에 이 결과는 직관에 어긋나는 것 같습니다.
해결책: 값 비교가 아닌 인덱싱
JavaScript의 "in" 연산자는 특정 값이 있는지 확인하지 않습니다. 대신 속성이나 키가 존재하는지 확인합니다. 배열의 경우 인덱스는 속성으로 간주됩니다.
따라서 위의 예에서 "0"은 배열의 인덱스를 의미합니다. 배열은 0 인덱스이므로 인덱스 "0"이 유효하고 존재하므로 실제 결과가 됩니다.
직관적인 예
이 개념을 더 자세히 설명하려면 다음을 따르세요.
var x = [1,2]; 1 in x; // true (index 1 exists) 2 in x; // false (index 2 does not exist)
동작 요약
JavaScript의 "in" 연산자는 배열을 포함한 객체의 속성이나 키가 있는지 확인하는 데 주로 사용됩니다. 배열에 사용되는 경우 해당 인덱스에 저장된 특정 값이 아닌 유효한 인덱스가 있는지 확인합니다.
위 내용은 JavaScript에서 \'0 in [1,2]\'가 True를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!