ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 묵혔다가 꺼내는 자바스크립트 - typeof
    JS 2020. 9. 14. 16:27

    1. typeof의 사용법

    • typeof 문은 해당 변숫값이 주어지면 그 변수와 상수의 타입을 추출해주는 명령어이다.

    아래와 같은 코드를 직접 실행해 보면 상수의 타입을 문자열로 나타내 준다.

     

     

    2. 그렇다면 null은?

    • null 같은 경우에는 자바스크립트에서 객체로 취급하기 때문에 "object"타입이 도출된다.

     

    3. typeof null의 결괏값을 "null"로 나오게 만들어보기

    코드는 간단하다. isNull이라는 함수를 만들어서 타입 추론 대상 하나를 인자로 받는다.

     

    그리고 콘솔을 찍어내는데, 이때 콘솔 함수 안에서 인자 앞에 !를 붙이는 이유는 null 같은 경우 프로그래밍에서 boolean상으로 false로 처리하기 때문에 "!"연산사를 이용해서 대상이 null이라면 true를 만들게 한다.

     

    그리고 &&연산자를 이용해서 typeof target === "object" 코드로 한번 더 검사한다.

    (이유는 불리언이 false가 인자로 들어왔을 경우를 생각해야 하기 때문이다.)

     

    이조건이 맞으면 "null", 아니라면 인자의 타입 자체를 그대로 출력하게된다.

     

    4. typeof의 undefined

    위와 같은 두 코드가 있다 두 코드의 결과를 추측해보자.

    a는 선언되었고 값이 대입되지 않았고, b는 처음부터 선언이 되지도 않았던 상황이다.

     

    위 문제의 2지선다

     

    1번 a는 undefined가 나올 것이고 b는 오류가 발생할 것이다.

    a => undefined

    b => 오류가 일어남

     

    2번 a도 undefined가 나올 것이고 b도 undefined가 나올 것이다.

    a => undefined

    b => undefined

     

    답은 2번이다. 

     

    typeof b에 변수 b는 선언되지도 않았기 때문에  오류가 날 것이라 처음 생각했지만 자바스크립트에서는 그렇게 처리하지 않아 예외적인 결과를 준다! (참;)

     

    지금까지 typeof에 대해서 알아보았다. 생각보다 요긴하게 쓰일 녀석이니 다음에 한번 써봐야겠다.

    댓글

oct_sky_out