데이터 타입이란?
타입(data type)이란 프로그램에서 다룰 수 있는 값의 종류를 의미한다. 변수에 대해 연산을 수행하려면 타입에 대해 아는 것이 중요하다.
데이터 타입
숫자(number)
- 정수(-1, 0, 1), 실수(소수점이 있는 숫자), NaN(Not a Number, 숫자가 아님이라는 값)
- 자바스크립트는 다른 언어와 다르게 정수와 실수를 따로 구분하지 않고, 모든 수를 실수 하나로만 표현한다.
let num1 = 100; // 소수점을 사용하지 않은 표현
let num2 = 100.00 // 소수점을 사용한 표현
// 둘 다 값은 100 이다
문자열(string)
- 문자열은 작은따옴표(''), 큰따옴표(""), 백 틱(``)으로 둘러싸인 문자의 집합을 의미한다.
let str1 = '작은따옴포';
let str2 = "큰따옴포";
let str3 = `백틱`;
- 숫자와 문자열의 연산도 가능하다. 이 때 자바스크립트는 숫자를 문자열로 자동 변환하여, 두 문자열을 연결하는 연산을 수행한다.
let num = 10;
let str = "JavaScript";
console.log(num + str); // 10JavaScript
불리언(boolean)
- 참/거짓(true/false)을 표현한다.
let bool = true;
객체(object)
- 자바스크립트의 기본타입은 객체(object)이다.
- 1개 이상의 데이터가 특정 구조를 가지는 일종의 집합체이다.
let obj1 = {}; // 이 안에 특정형태를 만들 수 있음
let obj2 = new Object(); // 자바스크립트에서 제공하는 implicit(내장된) 객체
배열(array)
- 대괄호로 이루어진 집합 데이터이다.
- 순서와 길이를 갖는다.
let arr1 = [1,2]; // 대괄호 안에 콤마(,)로 분리된 데이터를 추가
let arr2 = new Array(); // 자바스크립트에서 제공하는 Array 객체
undefined
- 값이 할당되지 않아 '타입'이 정해지지 않은 것을 의미한다.
- 초기화되지 않은 변수나 존재하지 않는 값에 접근할 때 반환된다.
let undi1 = undefined;
let undi2; // 초기화 되지 않은 변수
null
- object 타입이며, '값'이 정해지지 않은 것을 의미한다.
let nullable1 = null;
let nullable2 = "";
- undefined와 null은 동등 연산자(==)와 일치 연산자(===)로 비교할 때 결과값이 다르므로 주의해야 한다.
- 타입을 제외하면 같은 의미지만, 타입이 다르므로 일치하지는 않다.
null == undefined; // true
null === undefined; // false
typeof 연산자
typeof 연산자를 이용해서 데이터 타입을 알 수 있다.
console.log(`num1 : ${typeof num}`); // number
console.log(`Nan : ${typeof NaN}`); // number
console.log(`str1 : ${typeof str}`); // string
console.log(`bool : ${typeof bool}`); // boolean
console.log(`obj1 : ${typeof obj1}`); // object
console.log(`obj2 : ${typeof obj2}`); // object
console.log(`arr1 : ${typeof arr1}`); // object
console.log(`arr2 : ${typeof arr2}`); // object
console.log(`undi : ${typeof undi}`); // undifined
console.log(`undi2 : ${typeof undi2}`); // undifined
console.log(`nullable1 : ${typeof nullable1}`); // object
console.log(`nullable2 : ${typeof nullable2}`); // string
기본 자료형과 참조 자료형
- 기본 자료형(Primitive Type) - 값을 저장하고 있는 위치가 메모리의 주소값이 가리키는 곳에 직접 할당되어 있다.
- 참조 자료형(Reference Type) - 값이 저장되어 있는 메모리 주소값을 참조하는 주소 값이 할당되어 있다
※ 참고자료
'🌎 Web > JavaScript' 카테고리의 다른 글
[JavaScript] 함수 선언문 vs 함수 표현식 (0) | 2022.04.04 |
---|---|
[JavaScript] 자바스크립트의 함수(Function) (0) | 2022.04.01 |
[JavaScript] 자바스크립트의 연산자(Operator) (0) | 2022.03.31 |
[JavaScript] 자바스크립트의 변수(Variable) (0) | 2022.03.31 |
[JavaScript] JavaScript란? (0) | 2022.03.31 |