JavaScript에서는 변수를 사용하여 객체 속성 존재 여부를 확인하는 것이 일반적인 작업일 수 있습니다. 그러나 변수를 속성 이름으로 직접 사용하면 정의되지 않은 결과가 발생합니다.
예:
<code class="js">var myObj; myObj.prop = "exists"; var myProp = "p" + "r" + "o" + "p"; if (myObj.myProp) { alert("yes, i have that property"); }; // Undefined</code>
이를 극복하려면 명시적으로 속성을 확인하는 방법을 활용해야 합니다. 존재합니다.
솔루션:
옵션 1: hasOwnProperty
<code class="js">var myProp = 'prop'; if (myObj.hasOwnProperty(myProp)) { alert("yes, i have that property"); }</code>
옵션 2: in 연산자( 직접 속성과 상속 속성을 모두 확인)
<code class="js">var myProp = 'prop'; if (myProp in myObj) { alert("yes, i have that property"); }</code>
옵션 3: 직접 연산자 사용(직접 속성만 확인)
<code class="js">if ('prop' in myObj) { alert("yes, i have that property"); }</code>
참고: hasOwnProperty는 상속된 속성을 확인하지 않지만 in 연산자는 확인합니다.
위 내용은 JavaScript에서 변수를 사용하여 객체 속성 존재를 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!