개발관련/other

자바 스크립트 객체에 key가 있는지 확인하는 방법

Rateye 2021. 11. 12. 11:36
728x90
반응형
질문 : 자바 스크립트 객체에 키가 있는지 확인하고 있습니까?

JavaScript 객체 또는 배열에 특정 키가 있는지 어떻게 확인합니까?

키가 존재하지 않고 액세스하려고하면 false를 반환합니까? 아니면 오류가 발생합니까?

답변

정의되지 않았는지 확인하는 것은 키가 있는지 여부를 테스트하는 정확한 방법이 아닙니다. 키가 있지만 값이 실제로 undefined 어떻게합니까?

var obj = { key: undefined };
obj["key"] !== undefined // false, but the key exists!

in 연산자를 사용해야합니다.

"key" in obj // true, regardless of the actual value

키가 존재하지 않는지 확인하려면 괄호를 사용해야합니다.

!("key" in obj) // true if "key" doesn't exist in object
!"key" in obj   // Do not do this! It is equivalent to "false in obj"

또는 상속 된 속성이 아닌 개체 인스턴스의 속성을 특히 테스트하려면 hasOwnProperty 사용합니다.

obj.hasOwnProperty("key") // true

, hasOwnProperty 및 key is undefined in 있는 메서드 간의 성능 비교는 이 벤치 마크를 참조하세요.

출처 : https://stackoverflow.com/questions/1098040/checking-if-a-key-exists-in-a-javascript-object
728x90
반응형