loading

자바스크립트(javascript) - 다른 라이브러리와 같이 사용을 할 때,

해당 객체, 변수, 함수 가 있는지 여부체크

 

 

 

개발을 진행하다 보면 어느 부분에서 내가 사용하고 싶은 함수라던가, 변수, 또는 오브젝트 등등

사용하려고 하다가 없다면 레퍼런스 오류를 일으킨다. 

 

자바스크립트에서는 이럴 때 유용하게 쓰일 수 있는 메서드를 제공하는데,

이 것을 이용하면 이러한 유사한 환경에서 잘 대처할 수 있다.

 

이 메서드는 typeof 메서드인데 특이하게 이 메서드는 존재하지 않는

변수, 오브젝트, 함수 등등에 존재의 여부를 파악하기에 너무 좋은 방법이다.

 

예제를 통해서 알아보자.

var testA = 10;

console.log(testA); // 10

console.log(testB); // ReferenceError: testB is not defined

 

위 소스를 보면 testA는 존재하기 때문에 console.log(testA)는 당연히 10이 출력된다.

그런데 testB는 아예 없다 존재하지가 않아서 저렇게  console.log를 출력하게 되면

레퍼런스 오류를 일으킨다.

 

이것처럼 개발하다 보면 이것저것 js 라이브러리를 가져다 사용하고

또 이것을 서버 쪽이나 프런트 쪽에다가 모듈을 가져다 사용을 하거나 등등

이러한 작업을 진행을 하게 될 건데

 

이때 내가 사용하고 싶은 모듈의 변수나, 혹은 함수나, 오브젝트가 존재하겠거니 하면서

그냥 사용하다가 갑자기 존재하지 않습니다 라는 레퍼런스 오류를 일으키면 이때가 가장 당황스럽다.

 

그래서 안전하게 존재 여부를 먼저 파악하고 존재하면 그다음 코드를 실행하게 하고,

아니면 멈추게 하면 되니 사용법을 잘 활용해보자.

 

사용법은

var testA = 10;

console.log(testA); // 10


if(typeof testB !== 'undefined'){
	console.log('여기는 testB가 존재하면 출력됩니다.');
}

 

이렇게 사용을 하면 된다.

이 typeof 메서드는 testB가 존재 자체를 안 했음에도 불구하고 사용해도 에러가 안 난다.

 

즉, if문에다가 testB라는 변수가 존재하는지 여부를 체크하고 존재하면

if문의 구문을 실행을 하고,

존재하지 않으면 그냥 실행을 안 하게끔 만들면 된다.

 

이렇듯 자바스크립트의 typeof 메서드를 잘 활용을 하면 유용하게 쓰일 수 있다.

반응형

+ Recent posts