javascript undefined 예외처리 - 정의되지 않은 개체 속성 감지

JavaScript object undefined check / javascript / object / undefined / object-property

JavaScript의 개체 속성이 정의되지 않았는지 확인하는 가장 좋은 방법은 무엇입니까?

Kamil Kiełczewski



Answer #1

사실 그것은 완전히 다른 두 가지를 의미 할 수 있습니다! 첫째, 객체에 정의 된 적이없는 속성을 의미하고, 둘째, 정의되지 않은 값을 가진 속성을 의미 할 수 있습니다. 이 코드를 살펴 보겠습니다.

var o = { a: undefined }
typeof o.a == 'undefined' // true
typeof o.b == 'undefined' // true
o.a === undefined // true
o.b === undefined // true
'a' in o // true
'b' in o // false

1) 속성이 첫 번째 또는 두 번째 의미 (가장 일반적인 상황)에 의해 정의되지 않았는지 알고 싶습니다.

obj.prop === undefined // IMHO, see "final fight" below

2) 객체가 어떤 속성을 가지고 있고 그 값에 신경 쓰지 않는지 알고 싶습니다.

'prop' in obj