JavaScript에서 정의되지 않은 것이 있는지 테스트
확인 if(response[0].title !== undefined)
중이지만 오류가 발생합니다.
잡히지 않은 TypeError : 정의되지 않은 'title'속성을 읽을 수 없습니다.
response[0]
이 정의되어 있지 않은 경우 정의되어 있는지 확인한 후 속성 제목을 확인하십시오.
if(typeof response[0] !== 'undefined' && typeof response[0].title !== 'undefined'){
//Do something
}
response[0]
정의되어 있지 않은지 확인하십시오 .
if(response[0] !== undefined) { ... }
여전히 제목을 명시 적으로 확인해야하는 경우 초기 확인 후 확인하십시오.
if(response[0] !== undefined && response[0].title !== undefined){ ... }
위의 다른 모든 코드 예제에서 문제가있었습니다. Chrome에서 이것은 나를 위해 일한 조건이었습니다.
typeof possiblyUndefinedVariable !== "undefined"
다른 브라우저에서 테스트하고 상황이 어떻게 진행되는지 확인해야합니다.
실제로 코드가 작동하지 않도록 Try / Catch 블록으로 둘러싸 야합니다. 이처럼 :
try{
if(typeof response[0].title !== 'undefined') {
doSomething();
}
}catch(e){
console.log('responde[0].title is undefined');
}
유형:
var foo;
if (typeof foo == "undefined"){
//do stuff
}
response[0]
자체가 정의되지 않았기 때문 입니다.
확인하십시오 condition == null
; 문제를 해결합니다
response[0]
실제로 존재 하는지 확인하면 오류가 존재하지 않는 것으로 보입니다.
먼저 response[0]
정의되지 않았 는지 확인하고 그렇지 않은 경우에만 나머지를 확인하십시오. 즉, 귀하의 경우 response[0]
정의되지 않았습니다.
나는 7 개월 늦게 여기에 갔다는 것을 알고 있지만이 질문을 발견했으며 흥미로워 보입니다. 브라우저 콘솔에서 시도했습니다.
try{x,true}catch(e){false}
변수 x가 정의되지 않으면 오류가 포착되고 그렇지 않으면 거짓이되고, 그렇지 않으면 참을 리턴합니다. 따라서 eval 함수를 사용하여 값을 변수로 설정할 수 있습니다
var isxdefined = eval('try{x,true}catch(e){false}')
참고 URL : https://stackoverflow.com/questions/7041123/test-if-something-is-not-undefined-in-javascript
'IT story' 카테고리의 다른 글
망막 디스플레이 감지 (0) | 2020.04.22 |
---|---|
삭제가 허용됩니까? (0) | 2020.04.22 |
가로로 소프트 키보드 입력을위한 전체 화면 편집보기를 비활성화 하시겠습니까? (0) | 2020.04.22 |
일반 유형 변환 FROM 문자열 (0) | 2020.04.22 |
README.md의 단락 안에 줄 바꿈 (0) | 2020.04.22 |