ProgramingTip

자바 펼쳐에서 '정의되지 않음'을 처리하는 방법

bestdevel 2020. 12. 8. 19:20
반응형

자바 펼쳐에서 '정의되지 않음'을 처리하는 방법


가능성 :
JavaScript에서 정의되지 않은 개체 속성 감지

아래 자바 펼쳐 샘플에서

 try {
    if(jsVar) {
     proceed();
      }
 }catch(e){
      alert(e);
 }

이 jsVar는 다른 파일에서 초기화되고 초기화됩니다.

문제는 다른 파일 (선언되고 초기화 된 파일)이 실행되기 전에 코드를 실행하기 전에 정의되지 않은 오류가 발생한다는 것입니다. 그렇기 때문에 try and catch에 항상여 있습니다.

catch 보다이 정의되지 않은 오류를 처리하는 가장 좋은 방법은 무엇입니까?


사실을 확인할 수 있습니다.

if (typeof(jsVar) == 'undefined') {
  ...
}

JavaScript의 경우와 같이이를 수행하는 방법에는 여러 가지가 있습니다.

typeof foo !== 'undefined'
window.foo !== undefined
'foo' in window

처음 두 개는 동일해야하지만 ( foo지역 변수에 의해 가려지지 않는 한) 마지막 true변수는 전역 변수가 정의되었지만 초기화되지 않은 경우 (또는 명시 적으로로 설정 됨 undefined) 반환 됩니다 .


자바 펼쳐에서 다음 값으로 인해 조건이 실패하고 해당 명령문이 실행되지 않는 경우 : null, undefined, false, NaN, 숫자 0 및 빈 ''.

jsVar 변수가 boolean이고 jsVar가 참일 때 progress () 메소드를 호출 할 가정하면 다음과 같은 검사를 수행 할 수 있습니다.

if (jsVar && jsVar == true)
    proceed();

위의 코드 조각은 먼저 jsVar가 정의 확인한 다음 해당 값이 참인지 확인합니다. 두 조건이 모두 음성으로 나오는 경우.

jsVar가 부울이 아니면 위 코드에서 jsVar == true 대신 적절한 검사를 대체 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/1984721/how-to-handle-undefined-in-javascript

반응형