javascript에서 값을 할당하거나 파싱하는 등의 작업을 하면서 의도되지 않은 값이 생기는 경우가 있다.
그 중 많은 비율을 차지하고 있는 것이 "빈 값"이다.
"빈 값"으로 판단되는 경우에 대한 처리를 하기 위해,
아래는 대표적인 케이스 몇 개를 뽑아 null과 비교해봤다.
var v_null = null;
var str_null = 'null';
var v_undefined = undefined;
var str_undefined = 'undefiend';
var str_empty = '';
console.log('값 그대로 비교');
console.log('null == null : ', null == v_null);
console.log('null == "null" : ', null == str_null);
console.log('null == undefined : ', null == v_undefined);
console.log('null == "undefined" : ', null == str_undefined);
console.log('null == "" : ', null == str_empty);
console.log('not연산결과');
console.log('!null : ', !v_null);
console.log('!"null" : ', !str_null);
console.log('!undefined : ', !v_undefined);
console.log('!"undefined" : ', !str_undefined);
console.log('!"" : ', !str_empty);
출력결과 :
값 그대로 비교
null == null : true
null == "null" : false
null == undefined : true
null == "undefined" : false
null == "" : false
not연산결과
!null : true
!"null" : false
!undefined : true
!"undefined" : false
!"" : true
결과적으로,
not 연산을 한 경우, null, undefiend, 빈문자열("")은 true값을 반환하였다.
이를 이용하여 간단한 null판단 함수 작성하면 다음과 같다.
function isNull(obj){
return !obj || obj == 'null' || obj == 'undefined';
}
하지만, 위 함수로 원하는 '빈 값'에 대한 판단을 완벽히 할 수 없다.
빈 오브젝트 등에 대한 처리는 없기 때문에, 사용에 따라 추가적인 처리가 필요하다.
'Programming > 자바스크립트' 카테고리의 다른 글
[js][splide]이미지슬라이드 라이브러리 (0) | 2022.08.05 |
---|---|
[js][Tippy]Tippy(Tooltip 라이브러리) 사용 (0) | 2022.08.05 |