이것은 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)타입만 가능하게 함.
3. boolean 타입(boolean) : 평가한 결과 값이 예약어인 true, false중 하나로 평가됨
ex) typeof unknownVariable => 'boolean'
4. undefined 타입 (undefined)
ex) typeof unknownVariable => 'undefined'
4-1) 선언만 하고, 어떤값도 대입 않은 경우.(변수 초기화 or 변수정의가 안됨)
4-2) 없는 즉, '객체의 빈 프로퍼티', '배열의 빈 요소' 를 읽으려고 시도할때의 값
4-3) 반환값이 없는 함수가 반환하는 값.
4-4) 함수 호출 시, 값을 받지 못한 파라미터(인수)의 값
null이 undefined와 같은것 아닌가요?
=> null : 아무것도 없음을 값으로 표현한 것.(빈 객체).
5. 객체 타입(object)
ex) typeof unknownVariable => 'object'
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