속성 이름 변수를 사용하여 객체 속성 존재를 효과적으로 검사하는 방법
JavaScript 객체로 작업할 때 특정 속성이 존재하는지 확인하는 것이 필수적입니다. . 그러나 대상 속성 이름을 유지하기 위해 변수를 활용해야 하는 경우에는 어떻게 해야 할까요?
제공된 예에서:
<code class="js">var myObj; myObj.prop = "exists"; var myProp = "p"+"r"+"o"+"p"; if(myObj.myProp){ alert("yes, i have that property"); };</code>
코드는 '라는 속성이 있는지 확인하려고 시도합니다. myprop'은 존재하지 않습니다. 이는 JavaScript가 표현식을 'myObj.prop' 대신 'myObj.myprop'로 평가하기 때문입니다.
이 논리를 성공적으로 구현하려면 다음과 같은 여러 접근 방식을 활용할 수 있습니다.
hasOwnProperty 사용
<code class="js">var myProp = 'prop'; if(myObj.hasOwnProperty(myProp)){ alert("yes, i have that property"); }</code>
hasOwnProperty는 객체가 상속된 속성을 제외하고 특정 속성을 소유하는지 확인합니다.
연산자(ES5)에서 사용
<code class="js">var myProp = 'prop'; if(myProp in myObj){ alert("yes, i have that property"); }</code>
in 연산자는 자신의 속성과 상속 속성을 모두 포함하여 객체의 열거 가능한 속성을 검사합니다.
대괄호 사용(ES6)
<code class="js">if('prop' in myObj){ alert("yes, i have that property"); }</code>
ES6에서 대괄호는 속성 존재 확인을 위해 in 연산자와 상호 교환적으로 사용할 수 있습니다.
위 내용은 JavaScript 개체에서 변수 속성 이름을 사용하여 속성 존재를 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!