구분 | 데이터 타입 | 설명 |
---|---|---|
원시타입 | 숫자 | 정수 실수 구분없이 숫자 |
문자열 | 문자열 | |
불리언 | true, false | |
undefined | 선언된 변수에 암묵적 할당값 | |
null | 값이 없음을 명시할 때 사용 | |
symbol | 변경불가, 유일무이한 값 -> 충돌 위험 없음 | |
객체타입 | 객체 함수 배열 등 |
다른언어의 int, long, float, double 등 다양한 숫자타입과 대응되는 타입
자바스크립트는 정수, 실수, 2진수, 8진수, 16진수 모두 구분하지 않음
'' "" `` 으로 감싸는 텍스트
let str = hello //자바스크립는 "" 가 없는 hello를 식별자로 인식한다.
true 와 false 두가지 논리적 참과 거짓을 나타내는 값
개발자가 의도적으로 할당하는 값이 아닌 자바스크립트 엔진이 변수를 초기화하는데 사용하는 값이다. 변수를 참조했을 때, undefined가 반환되면 선언 후에 한번도 값을 할당하지 않는 변수이다.
변수에 값이 없다는 것을 명시하기 위해서는 null을 사용해야 한다.
NULL, Null 이 아닌 null임을 까먹지 말자
Undefined와 다르게 값이 비어있음을 명시적 표시하기 위해 사용한다.
의도적 부재라고 한다.
ES6에 추가된 7번째 타입니다.
변경불가능, 중복불가능한 유일무이한 값으로 충돌위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용한다.
let key = Symbol('key') //심볼값 생성
let obj={} //객체 생성
obj[key] = 'value' //이름이 충돌할 위험이 없는 key를 프로퍼티 키로 사용
위의 7가지 타입외의 값
자바스크립트는 정적타입언어(C, 자바...)와 다르게 변수 선언할 때 타입을 선언하지 않는다.
정적 타입 언어는 변수 선언 시점에 변수의 타입이 결정되지만, 자바스크립는 값이 할당되는 시점에 동적으로 결정되고, 변수의 타입을 자유롭게 변경 가능하다.
장점
단점
-> 유연성은 높지만 신뢰성이 떨어진다.
-> 타입스크립트 사용의 이유