ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • javascript) null과 undefined와 빈문자열"" 체크하기
    javascript 2023. 11. 30. 15:38

    null과  undefined와 빈문자열"" 체크하기





    null은 "의도적으로" 값이 할당되지않은 상태

    undefined는 값이 아직 할당 되지않은상태


    null, undefined를 체크하기)

    ㄴnull과 undefined과 빈문자열""는 모두 false로 간주된다 (false그 자체는 아니다!)("   "(공백은) true로 간주)

    그래서
    null == false;  //false
    null === false;  //false

    undefined == false;  //false
    undefined ===false;  //false

    위는 모두 false 반환이 되지만(false 자체가 아니니까),null과 undefined앞에 !!를 붙이면 boolean값으로 변환되므로

    !!null == false; // true
    !!null === false; //true

    !!undefined == false; // true
    !!undefined === false; // true

    ㄴ위는 모두 true로 반환이 된다. 이를 이용하여 null,undefined를 체크하는 조건식을 더 간결하게 작성할 수 있다

    예제)
    var tmp = null;

    if(!!tmp){
    tmp가 null,undefined가 아닌경우
    }else{
    tmp가 null,undefined인 경우
    }




    빈문자열 ""과 "     "(공백)를 체크하기)

    ㄴtrim()으로 좌우공백을 제거해준뒤, 문자열의 길이가 0인지체크

    예제)
    vat tmp = ""

    if(tmp.trim().length !== 0){ 
    //tmp가 ""과 "     "이 아니라면 실행될 코드
    }






    null,undefined,"", "      "를 모두 체크하기)*

    ㄴ옵셔널 체이닝(?.) 이용
    ㄴ옵셔널 체이닝은 대상이 undefined나 null일 경우 undefined를 반환


    예제)
    var tmp = "    "

    if(!!tmp?.trim()){
    null,undefined,빈문자열"","     "(공백)이 아닌 경우 실행되는 코드
    }else{

    }


    ㄴnull,undefined 인경우 : 옵셔널 체이닝으로 undefined 반환, trim()무시, !!연산자로 undefined가 false로 변환
    ㄴ"", "    "(공백) 인경우 : 옵셔널 체이닝 무시, trim으로 ""으로 반환, !!연산자로 ""가 false로 반환 





Designed by Tistory.