Web/Javascript

Javascript의 null 과 empty string등 비교

saltdoll 2018. 3. 27. 15:36
반응형

Javascript의 null 과 empty string등 비교


이런식으로 no 연산

 var value2 = "" 

if ( !value2 ) {
   console.log("비어 있음"); //결과는 여기가 실행.
} else {
  console.log("값이 있음");
}




자바스크립트 자료형에서 


false로 반환되는 값은 "", null, undefined, 0, NaN 이 있고 "나머지는 모두 true"


if ('' || null || undefined || 0 || NaN) {
   // ...
} else {
   console.log("여기가 실행"); //결과는 여기가 실행됨.
}

특정값이 빈 배열( [] ), 빈 객체( {} )가 있을 수 있으며, 

0은 실제 비어 있지 않는 특정값 0을 의미 할수도 있지만, 이경우엔 false를 반환된다.

0의 값을 비교하려면, === 를 이용해야 합니다.

 var foo = 0;

if (foo == "") {
alert('Empty');//실행됨
}

if (foo == 0) {
alert('Zero');//실행됨
}

if (foo === "") {
alert('String Empty');//실행안됨.
}

if (foo === 0) {
alert('Number Zero');//실행됨
}


자료형과 상관없이 빈 값을 알고 싶을때,

// 넘어온 값이 빈값인지 체크합니다. // !value 하면 생기는 논리적 오류를 제거하기 위해 // 명시적으로 value == 사용 // [], {} 도 빈값으로 처리 var isEmpty = function(value){ if( value == "" || value == null || value == undefined || ( value != null && typeof value == "object" && !Object.keys(value).length ) ){ return true }else{ return false }  };

(출처: https://gist.github.com/SangHakLee/4da6159a7a08cdd12132#file-isempty-js )


참고: http://sanghaklee.tistory.com/3 [이상학의 개발블로그]

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)