[Javascript] 빈 값 체크

놀아·2021년 9월 26일
5

자바스크립트

목록 보기
1/1

숫자형, 문자열, 객체등 빈값을 체크할때 모호함이 있어서, 모든 케이스를 수용할 수 있는 딱히 없는 듯하여서 케이스 대로 정리 하는 것이 좋다고 판단되었다.

false를 구분하자

  • 분기문에서 null, undefined, '', 0 은 false로 변환 된다.

  • 검증법은 !! 으로 검증하기 (!이 하나면 반대상태, 두개면 원상태)

arr.length === 0 은 !arr.length 와 같다.

위에서 보았듯이 0 은 false와 같다.
행렬 및 객체의 길이 0을 판별하고 싶을때는 arr.length === 0 보다 !arr.length를 사용하자

arr가 행렬일때
if( !arr.length )

arr.length === 0 보다 클때 판정

arr.length 은 특성상 양수갑만 존재한다. 그러므로 arr.length > 0 보다 arr.length 으로 판단이 가능하다.

undefined, null , ''(공백문자), 0를 판별할 때

위와 같은 정의로
obj === undefined, obj === null, obj === "", obj === 0 보다 !obj로 작성하기.

!obj

문자열이 비어있지 않다는 것을 판별할 때

빈문자열은 조건문안에서 false 이므로 빈문자열이 들어올 변수를 조건문안에 넣어주기

if ( string )

문자열이 비어있는 것을 판별할 때

빈문자열 일때 false 이므로 부정(!) 하여서 false -> true로 만들어 주면 된다.

if ( !string)

true 인지 판별할때

if(obj === true) 보다 if(obj) 로 작성하면 된다.

if(obj)

false 인지 판별할때

if(obj === false) 보다 if(!obj) 로 작성하면된다.

if(!obj)

유의사항 ※중요

0, "", null, undefinedfalse 이므로 단순히 boolean false만 판정하고 싶을때는 if(foo === false) 로 적어주는게 맞다.

정리 하는 것도 좋지만, 유의사항에 해당하는 케이스를 기억하는 것이 치명적인 오류를 방지할 수 있을거란 생각이 들었다.

출저: javascript의 null,undefined,empty 체크시 좋은 코딩방법

profile
머리가 나쁘기 때문에 메모와 정리를 한뒤에 찾아보기

0개의 댓글