데이터 타입 개념 정리
데이터 타입이란
- 데이터 타입은 값의 종류를 말한다.
- 자바스크립트의 모든 값은 데이터 타입을 갖는다.
- ES6 -> 7개의 데이터 타입을 제공
- 원시타입 / 객체타입으로 분류된다.
숫자 타입
var integer = 10; // 정수
var double = 10.12; // 실수
var negative = -20; // 음의 정수
문자열 타입
var string;
string = '문자열' // 작은 따옴표
string = "문자열" // 큰 따옴표
string = `문자열` // 백틱
템플릿 리터럴
var template = `Template literal`; // 백틱을 이용해 표현
- 템플릿 리터럴 외 문자열 내에서는 줄 바꿈(개행)이 허용되지 않음
- 템플릿 리터럴에서는 이스케이프 시퀀스를 사용하지 않아도 줄바꿈,모든 공백이 있는 그대로 적용됨
- 템플릿 리터럴 표현식 삽입 (백틱 안에 ${} 으로 표현식을 감싼다.)
var first = 'hi'
var last = 'bey'
`${first} ${last}` // 'hi bey'
불리언 타입
var foo = true;
console.log(foo); // true
foo = false;
console.log(foo); // false
- 논리적 참, 거짓을 나타내는 true,false 뿐이다.
undefined 타입
var foo;
console.log(foo); // undefined
- undefined 타입의 값은 undefined 가 유일함
- 자바스크립트 엔진이 변수를 초기화할 때 사용하는 값
- 개발자가 의도적으로 변수에 undefined 를 할당하는 것은 권장하지 않음
null 타입
var foo = 'Lee';
// 이전 참조를 제거, foo 변수는 더 이상 'Lee'를 참조하지 않음
foo = null;
- null 타입의 값은 null이 유일함
- 자바스크립트는 대소문자를 구별하므로 null은 Null, NULL등과 다름
- 변수에 값이 없다는 것을 의도적으로 명시 할 때 사용한다.
- 변수에 null을 할당하는 것ㅎ은 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미
- 함수가 유효한 값을 반환할 수 없는 경우 명시적으로 null을 반환하기도 함
심벌 타입
// 심벌 값 생성
var key = Symbol('key');
console.log(typeof key); // symbol
// 객체 생성
var obj = {};
// 이름이 충돌할 위험이 없는 유일무이한 값인 심벌을 프로퍼티 키로 사용
obj[key] = 'value';
console.log(obj[key]); // value
- 변경 불가능한 원시 타입의 값
- 심벌 값은 다른 값과 중복되지 않는 유일무이한 값
- 주로 이름이 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용
객체 타입
- 자바스크립트는 객체 기반의 언어이며, 자바스크립트를 이루고 있는 거의 모든 것이 객체이다.
- 지금 까지 살펴본 데이터 타입 6개 이외의 값은 모두 객체 타입이다.
typeof 연산자
var foo;
console.log(typeof foo); // undefined
foo = 3;
console.log(typeof foo); // number
foo = 'hi';
console.log(typeof foo); // string
- typeof 연산자로 변수의 데이터 타입을 확인할 수 있다. (변수에 할당된 값을 반환)
- 자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정된다. (변수의 타입을 언제든지 자유롭게 변경이 가능)
- 자바스크립트는 동적 타입의 언어이기 때문에 가능
데이터 타입 필요성
- 값을 저장할 때 확보해야 하는 메모리 공간의 크기를 결정하기위해
- 값을 참조할 때 한번에 읽어 들여야 할 메모리 공간의 크기를 결정하기 위해
- 메모리에서 읽어 들인 2진수를 어떻게 해석할지 결정하기 위해
'모다딥 공부 정리' 카테고리의 다른 글
[ 모다딥 공부 정리 ] 07장 연산자 (0) | 2023.04.20 |
---|---|
[ 모다딥 공부 정리 ] 05장 표현식과 문 (0) | 2023.04.19 |
[ 모다딥 공부 정리 ] 04장 변수 (0) | 2023.04.19 |