자바스크립트에서 어떤 변수가 정의되었는지 확인하는 방법을 소개합니다.
1. 정의되지 않은 변수 사용시 발생하는 문제
아래와 같이 정의되지 않은 변수를 사용하면 var is not defined와 같은 메시지로 ReferenceError가 발생합니다.
사용하기 전에 타입 체크를 통해서 미정의된 변수인지 확인할 수 있습니다.
let var2 = var1;Output:
let var2 = var1;
^
ReferenceError: var1 is not defined
at Object.<anonymous> (/home/js/js_project/examples/node_f7951c597bee4.tmp:1:12)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)2. typeof로 변수가 정의되었는지 확인
typeof는 변수의 타입을 리턴하며, 변수가 정의되지 않았을 때 undefined를 리턴합니다.
console.log(typeof var1); // undefined
console.log(typeof "abc"); // string
console.log(typeof 123); // number이것을 이용하여 아래와 같이 변수가 정의되었는지 확인할 수 있습니다.
let var1 = 'ABC';
if (typeof var1 === 'undefined') {
console.log("var1 is undefined");
} else {
console.log("var1 is defined");
}
if (typeof var2 === 'undefined') {
console.log("var2 is undefined");
} else {
console.log("var2 is defined");
}Output:
var1 is defined
var2 is undefined3. try-catch로 변수가 정의되었는지 확인
try-catch에서 어떤 변수에 접근 시, ReferenceError 발생하면 정의되지 않은 변수입니다.
try {
let aa = var1;
console.log('var1 is defined')
} catch(e) {
console.log('var1 is not defined')
}Output:
var1 is not definedLoading script...
Related Posts
- ESLint warning, Expected '===' and instead saw '==' eqeqeq
- Javascript - 현재 날짜/시간을 항상 한국 기준으로 가져오기
- Javascript - 문자열 사이에 문자 넣기
- Javascript - 버튼 활성화/비활성화 시키는 방법
- Javascript - 버튼 이름 변경하기
- Javascript - div 안의 내용 가져오기, 변경, 추가, 삭제
- Javascript - <ol>, <ul>에 <li> 동적 추가, 삭제
- Javascript - div 생성, 추가, 삭제 방법
- Javascript - 테이블 행(tr) 숨기기, 보이기
- Javascript - div에 링크 거는 방법
- Javascript - 자식 요소(element) 개수 확인
- Javascript - 요소(element) 복사, 붙여넣기
- Javascript - div에 클릭 이벤트(onclick) 설정 방법
- Javascript - 체크박스 선택/해제 시, 텍스트박스 활성화/비활성화
- Javascript - input 숫자만 입력받도록 설정
- Javascript - 자식 노드 모두 제거
- Javascript - 체크박스 선택, 해제 방법
- Javascript - input text 값 가져오기
- JavaScript - 문자열을 배열(Array)로 변환
- JavaScript - 특정 문자열의 포함 여부 확인 (includes, 정규표현식)
- JavaScript - 문자열 비교 방법, 5가지
- JavaScript - 문자열 바꾸기(replace, 정규식 치환)
- JavaScript - 배열 전체 출력 (for, forEach, for in, for of)
- JavaScript - 한번만 실행되는 함수 (once: true)
- JavaScript - 선택된 checkbox 값 가져오기
- JavaScript - div, 태그 안의 내용 가져오기
- JavaScript - element(버튼, div) 보이기 숨기기
- JavaScript - 숫자를 배열로 변경하는 방법
- JavaScript - 부모, 형제, 자식 element 찾기
- JavaScript - 클래스 이름으로 element 찾는 방법
- JavaScript Array find() 함수
- JavaScript Array splice() 함수
- JavaScript의 contains() 함수
- JavaScript sort() 함수, 예제 소개
- JavaScript - Set 생성 및 초기화