JS - 데이터 타입

sebinnnnn·2023년 4월 18일
0

JavaScript

목록 보기
2/2
post-thumbnail

1️⃣ 데이터 타입이란?

모든 데이터 혹은 값은 특정한 타입을 가지게 되는데 이를 데이터 타입이라고 하며 자바스크립트에서는 7개의 데이터 타입을 제공하고 있다. 그중 6개는 원시 타입, 나머지 하나는 객체 타입으로 구분이 된다.

원시 타입에는 숫자 타입과 문자열 타입, 불리언 타입, undefined 타입, null 타입과 마지막으로 ES6에 도입된 심벌 타입이 있다.
객체 타입에는 객체 타입 1가지만 존재한다.

🔗 데이터 타입이 존재하는 이유는?

앞서 말했듯이 모든 데이터는 각자의 데이터 타입을 가지게 된다.

그렇다면, 이러한 데이터 타입은 왜 존재하는 것일까?

데이터 타입이 필요한 이유는 크게 2가지다.
1번째는 데이터 타입은 메모리 공간의 크기를 결정하기 위해 필요하며, 2번째로는 데이터를 해석하기 위해서 필요하다.

먼저, 모든 데이터와 값은 메모리에 저장이 되는데 이때 어떤 값이 얼마큼의 메모리 공간을 할당할지 결정을 해야 한다. 이처럼 자바스크립트 엔진이 값의 메모리 크기를 결정하기 위해 그 기준으로서 사용하는 것이 바로 데이터 타입이다.

더불어, 컴퓨터는 우리가 실제 눈으로 보는 숫자, 문자 등의 명확한 기호로 값을 저장하는 것이 아니라 0과 1의 2진수 기계어로 저장하게 된다. 따라서 모든 수가 0, 1로 이루어져 있기 때문에 이를 어떤 값인지 구분하고 해석할 필요가 있다.
이때, 데이터를 해석하는데 필요한 것이 바로 데이터 타입이다.

정리하자면, 데이터 타입은 데이터가 메모리 공간에 저장이 될 때 그 크기를 결정하는 기준이 되고 더불어, 엔진이 데이터를 해석할 때 어떤 값인지 구분하기 위해서 사용된다.


2️⃣ 데이터 타입 살펴보기

🔗 숫자 타입

가장 먼저 살펴볼 데이터 타입은 원시 타입에 소가는 숫자 타입이다. 숫자 타입에 대해 살펴볼 때 주의할 점은, 자바스크립트에서는 정수와 실수를 구분해서 타입을 제공하는 것이 아니라 독특하게 단 1가지의 숫자 타입만 제공한다는 것이다.
즉, 자바스크립트는 모든 수를 실수로 처리하기 때문에 정수 타입이 따로 존재하지 않는다.

이러한 이유로, 만약 정수로 표시되는 수끼리 연산을 해도 결과값이 정수가 아닌 실수가 나올 수도 있다.

더불어, 자바스크립트에서는 실수 이외에도 특별한 숫자 타입을 제공하는데 양의 무한대와 음의 무한대, 그리고 숫자가 아닌 NaN(Not a Number) 타입을 제공한다.

🔗 문자열 타입

문자열 타입텍스트 데이터를 나타내는데 사용하는 데이터 타입으로 우리가 흔히 사용하는 글자, 문자, 단어 등이 문자열 타입에 속한다. 문자열은 작은따옴표 혹은 큰따옴표로 해당 데이터가 문자열 타입이라는 것을 나타내야 한다. 만약에, 문자열을 따옴표로 감싸지 않은 자바스크립트 엔진은 자동으로 해당 데이터를 자바스크립트 키워드나 식별자로 인식하게 된다. 따라서, 문자열 데이터를 표현할 때는 반드시 따옴표를 사용해야 한다.

추가적으로, 따옴표 말고도 다른 방식으로 문자열 데이터를 표현할 수 있는데 바로 백틱이다.

백틱으로 문자열을 표현하는 방식을 템플릿 리터럴이라고도 부르는데 이는 ES6부터 새롭게 도입된 문자열 표기법이다.
백틱을 사용해서 템플릿 리터럴을 사용하게 되면 일반 문자열 내에서는 불가능했던 줄바꿈 등의 개행 표현이 가능하고 표현식 삽입도 일반 문자열보다 간단하게 표현할 수 있다.

let first = "HAN";
let name = "SE BIN";

console.log("My name is ${first} ${name}.");

-> ${ }안에 변수명을 넣어서 쉽게 표현할 수 있다.

🔗 불리언 타입

불리언 타입에는 논리적 참과 거짓을 나타내는 true, false가 전부다.
불리언 타입의 경우에는 조건에 의해서 분기 처리가 되는 조건문 등에서 자주 사용된다.

let A = true
let B = false
-> boolean type

🔗 undefined 타입

undefined 타입의 값은 undefined 값이 유일하며 undefined의 경우에는 변수 초기화와 같이 자바스크립트 엔진이 초기화를 할 때 사용하는 값이다. 따라서, 개발자가 의도적으로 값이 비어있음을 표현하기 위해 할당하는 값은 아니다.

만약에 undefined와 같이 값이 없다는 의미를 담고 싶다면 undefined가 아닌 null를 사용하면 된다.

🔗 null 타입

null은 undefined와 같이 null 값이 유일한 데이터 타입이다. 보통 프로그래밍 언어에서 변수에 값이 없다는 것을 개발자가 의도적으로 명시할 때 사용하는 데이터 타입이다.


해당 글에서는 심벌 타입이나 객체 타입 등 일부 데이터 타입에 대해서는 따로 다루지 않았으며, 해당 데이터 타입에 대해서는 추후에 개별적인 글로 더 자세하게 알아볼 예정이다!


✅ 참고
https://ko.javascript.info/

해당 글은 모던 JavaScript 튜토리얼 사이트와 모던 자바스크립트 Deep Dive 내용을 참고해 작성했습니다.

profile
🏠 블로그 이전 중 → https://medium.com/@sebinndev

0개의 댓글