[TIL]js타입에대한 간단정리

Violet Lee·2020년 9월 12일
0

javascript

목록 보기
12/24

TIL을 적기 이전에..

이것은 9월 11일에 정리한 부분이며, 배열,객체를 공부하며 각 타입이 어디에 쓰이고,
어떤 타입을 확실히 object타입이라고 말할수있는지에 대해 잘 설명이 되어있는 사이트를 찾았기때문에 이를 인용하여 정리하였다.
이후 다른 개념정리와 동영상시청 리뷰 TIL을 추가적으로 올릴 예정이다.


자바스크립트 타입 구분 및 판단하기

  • typeof 연산자 적용 결과로, 다음 7개 종류의 타입 구분이 가능.
    ex) string, number, boolean, undefined, object, function, symbol

    1. 문자열 타입 (string) : *타 언어처럼 별도의 char 타입이 존재 안함.
    ex) typeof varribal => 'string'

    2. 숫자 타입 (number) : *타 언어처럼 실수형,정수형 등으로 구분 않고, 단순성을 위해 숫자형에 하나의 데이터타입(int,float등의 모든 number)타입만 가능하게 함.

    • 내부적으로 8바이트로 표현.
    • 특수기호 : ex)typeof 0/0 => NaN(NotANumber) : 숫자가 아니거나, 계산 불능한 경우. 자기자신과 비교 x.

    3. boolean 타입(boolean) : 평가한 결과 값이 예약어인 true, false중 하나로 평가됨
    ex) typeof unknownVariable => 'boolean'

    • 빈 문자열 '',0(숫자 제로), NaN, null , undefined , false일때 => false로 평가
      그 이외의 것이면 true로 평가됨.

    4. undefined 타입 (undefined)
    ex) typeof unknownVariable => 'undefined'

    4-1) 선언만 하고, 어떤값도 대입 않은 경우.(변수 초기화 or 변수정의가 안됨)
    4-2) 없는 즉, '객체의 빈 프로퍼티', '배열의 빈 요소' 를 읽으려고 시도할때의 값
    4-3) 반환값이 없는 함수가 반환하는 값.
    4-4) 함수 호출 시, 값을 받지 못한 파라미터(인수)의 값

    null이 undefined와 같은것 아닌가요?
    => null : 아무것도 없음을 값으로 표현한 것.(빈 객체).

    • 통상, 프로그램(함수 등)이 검색 후 해당값을 못찾았을때,
    • 메모리 할당 실패 시 등에 넘겨주는 반환값.
    • 비록 의미 상으론 undefined와 같지만, null 값의 타입은 object로 구분한다고 함.

    5. 객체 타입(object)
    ex) typeof unknownVariable => 'object'

    • 변수가 'null', '배열', '객체'일때 해당. *null은 빈 객체를 참조하는 특별한 값임!!

    6. 심볼 타입(symbol)
    ex) typeof Symbol('car') => 'symbol'

=> 타입이 헷갈렸던 이유: 기본적으로 모든 타입의 상위객체는 object이지만, object안에서 다른 타입으로 표기해야하는 경우(function은 'function'타입으로 구분해줘야함)가 있으므로 확실히 object인 경우와 아닌경우를 구분해야 하는것이다.
확실히 object인 경우: array,null 그 밖의 경우는 object
자세히 따져봤을때 object로 표기하는것이 아닌경우: function,boolean,string,number,symbol

그러면 먼저 object인것과 아닌것을 구분하면 편할것이다.

인용 출처
: http://www.ktword.co.kr/word/abbr_view.php?m_temp1=5875

profile
예비개발자

0개의 댓글