안녕하세요. 루미오입니다.
JavaScript에서 null이나 undefined를 체크하는 방법을 알아보겠습니다.
순서
● isNull() function 만들기
● isNull() function 사용법
JavaScript에서 null이나 undefined를 체크해야 하는 상황은 매우 빈번합니다. 하지만 JavaScript의 내장함수로 제공되지 않기 때문에 번거롭지만, 매번 손가락 운동을 해야 하는데요. 오늘은 null
과 undefined
를 체크하는 function을 만들어 보겠습니다.
isNull() function 만들기
먼저 Source Code를 보시겠습니다.
function isNull(v) { return (v === undefined || v === null) ? true : false; }
JavaScript 변수를 선언하면 undefined
상태가 됩니다. 이는 선언은 되었지만, 초기화되지 않았다는 의미입니다. 다른 언어들은 null
이나 0
, false
등의 값으로 초기화되는 것과는 대조적입니다. 그러므로 변수 선언과 동시에 초기화를 하는 습관을 들이는 게 좋습니다. 또한 null
은 명시적으로 변수를 null
로 초기화한 경우입니다. 아무튼 undefined
와 null
은 비어있는 의미 없는 값이기 때문에 우리가 항상 점검해서 대응해야 할 대상입니다.
위의 코드는 어려운 것은 없습니다. 2 Line은 3항 조건 연산자
를 사용하여 undefined
와 null
을 비교합니다. 이때 ===
를 사용했습니다.
isNull() function 사용법
이제 isNull() function의 사용법을 보시겠습니다.
하단의 → 코드 확인 및 테스트 버튼을 클릭하면 jsfiddle에서 바로 Test해 보실 수 있습니다.
/* isNull 사용법 */ var result = false; result = isNull(); // true result = isNull(undefined); // true result = isNull('undefined'); // false result = isNull(null); // true result = isNull('null'); // false result = isNull(''); // false result = isNull(' '); // false result = isNull('abc'); // false result = isNull(0); // false result = isNull([]); // false result = isNull({}); // false
- document.write()는 HTML 문서에 직접 쓰는 함수입니다.
- 3 line :
파라미터
가 없으면true
를 반환합니다. - 4 line :
undefined
가 들어왔으니true
를 반환합니다. - 5 line :
'undefined'
는String
이기 때문에false
를 반환합니다. - 6 line :
null
이 들어왔네요. 그럼true
를 반환합니다. - 7 line :
'null'
은String
이기 때문에false
를 반환합니다. - 8 line :
공백('')
은false
를 반환합니다. - 9 line :
공백문자(' ')
는false
를 반환합니다. - 10 line :
String('abc')
은false
를 반환합니다. - 11 line :
숫자(0)
는false
를 반환합니다. - 12 line :
Array([])
는false
를 반환합니다. - 13 line :
{}
는false
를 반환합니다.
감사합니다.
- 루미오 . LOOMIO -
'프로그래밍 > JavaScript' 카테고리의 다른 글
자바스크립트(JavaScript) String.prototype.trim 폴리필(polyfill) (0) | 2018.12.09 |
---|---|
자바스크립트(JavaScript) 배열(Array)의 추가 삭제 (0) | 2018.12.05 |
자바스크립트(JavaScript) Array.prototype.indexOf, Array.prototype.lastIndexOf 폴리필(polyfill) (0) | 2018.12.05 |
자바스크립트(JavaScript), 제이쿼리(jQuery) 페이지 이동(redirect) (0) | 2018.12.04 |
자바스크립트(JavaScript) 공백 제거 (trim, trimStart, trimLeft, trimEnd, trimRight) (0) | 2018.11.30 |