베나코드
걷고 나니 길
베나코드
전체 방문자
오늘
어제
  • 분류 전체보기 (24)
    • MicroOffice (2)
      • Excel (2)
      • PowerPoint (0)
    • Programming (9)
      • Java (5)
      • SpringFramework (0)
      • 자바스크립트 (3)
      • TypeScript (0)
      • Node.js (0)
      • Mybatis (1)
      • Vue (0)
    • Test (0)
      • Junit (0)
      • Mockito (0)
    • IT용어 (2)
      • 개발론 (0)
      • 디자인 (0)
      • 다양한 (2)
    • Data Structure (2)
    • Algorithm (0)
      • LeetCode (0)
      • Backjoon (0)
      • programmers (0)
      • 시험문제 (0)
    • Regular Expression (0)
    • Azure (0)
    • DB(DATABASE) (1)
      • ERD (0)
      • Oracle DB (1)
      • MySQL (0)
    • Tiny Bug (0)
    • 영어공부 (7)
      • TOEIC (7)
    • Git (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 방어적프로그래밍
  • 사용
  • junit5
  • beanutils
  • azure
  • excel
  • @BeforeAll
  • Azure기본사항
  • @Nested
  • js
  • @ParameterizedTest
  • 오류출력변경
  • 방어코딩
  • copyProperties
  • 빈문자열
  • @DisplayName
  • 개발속도
  • splide
  • Tippy
  • JRM
  • @AfterAll
  • Microsoft Lean
  • az-900
  • unchaged
  • ms
  • santa
  • 함수
  • java
  • TOEIC
  • FUNCITON

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
베나코드

걷고 나니 길

Programming/자바스크립트

[Javascript]Null, Undefined, 빈문자열 처리

2022. 3. 16. 10:28

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
    'Programming/자바스크립트' 카테고리의 다른 글
    • [js][splide]이미지슬라이드 라이브러리
    • [js][Tippy]Tippy(Tooltip 라이브러리) 사용
    베나코드
    베나코드

    티스토리툴바