2013-06-24 3 views
3

이 예제 코드 감안할 때 :Javascript 속성이 있는지 여부를 확인하는 도구는 무엇입니까?

var yyy = { abc : 1 }, 
    xxx = yyy.abcc + 1; 

그것은 오류가 발생하지 않지만 yyy.abcc가 yyy.abc해야 오타가를, 그래서 XXX이 "NaN이"때문에 오타 오류의 현재와 동일 .

코드에서 문제를 확인하기 위해 jslint, jshint를 사용하지만 abcc가 유효한 속성인지 여부는 알려주지 않습니다.

jslint 또는 jshint와 같은 도구가 있습니까?

+1

"if (undefined! = yyy.abc)"가 작업을 수행해야합니까? 또는 "if (NaN! = ParseInt (yyy.abc))". – Ricola3D

+2

@ Ricola3D : 그건 도구가 아닙니다;) –

+1

도구가 확실하지 않지만 TypeScript를 사용하면 컴파일러에서 오류가 발생합니다. 모든 JavaScript는 TypeScript와 호환됩니다. 따라서 코드를 복사하여 붙여 넣기 만하면됩니다. – Arun

답변

1

일을 복잡하게하지 마십시오. :) 첫 번째 대답은 좋은 것이 었습니다. 자바 스크립트의 모든 객체는 "if "abc"는 var yyy와 함께 존재합니다. yyy 자체가 정의되지 않았습니다.

+1

매번 한 번씩 yyy.abc를 확인하지 않습니까? Yyy.abc가 코드의 다른 영역에서 많이 사용된다고 가정 해 봅시다. 주요 영역에서는 (undefined! = yyy.abc)를 체크하지만 모든 경우에서 체크하지는 않습니까? 그렇지 않다면 각 변수에 대한 많은 검사가 있습니다 .. – forestclown

+0

글쎄, 나는 대답 할 수있는 코드를 모르지만, 일반적으로 이것이 그렇다면 인수 분해를 필요로합니다. 하지만 다시 코드를 보아서 만 대답 할 수 있습니다 :) – CarlosB

관련 문제