[JS] 자료형 개요 (DataType)
- Archive2/WEB
- 2022. 3. 3.
* 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.
자료형(DataType) 이란 컴퓨터가 처리하는 자료의 형태를 의미한다. JavaScript의 자료형은 크게 값이 하나인 "기본형"과 여러 개의 값을 담고 있는 "복합형"으로 구분할 수 있다. 복합형(배열, 객체)에 대해서는 추후에 자세하게 정리할 예정이다.
#1 typeof연산자
#2 기본형
2.1 숫자형_Number
2.2 문자열_String
템플릿문자열
2.3 불린형_Boolean
2.4 undefined&null
#3 복합형
3.1 배열_Array
3.2 객체_Object
#1 typeof연산자
JavaScript는 변수에 저장하는 값에 따라서 자료형이 자동으로 결정된다. 따라서 만약 변수가 어떤 자료형인지 알 고 싶을 때는 typeof 연산자를 사용하면 된다. JavaScript의 typeof 연산자는 다음과 같은 두 가지 형태의 문법을 제공한다.
1. typeof x
2. typeof(x)
#2 기본형
2.1 숫자형_Number
JavaScript에서 숫자는 정수와 실수로 나누어서 구분한다. 또한 정수를 표현 방법에 따라서 10진수, 8진수, 16진수로 나누어서 구분하기도 한다.
var num1 = 10;
var num2 = 10.0;
typeof num1;
typeof num2;
[출력결과] 'number' 'number'
위의 소스코드의 출력 결과를 보면 알 수 있듯이 JavaScript는 정수와 실수를 모두 number로 취급한다.
2.2 문자열_String
문자열은 작은따옴표(') 혹은 큰따옴표(")로 표현한다.
var str1 = "nov"; // 큰 따옴표로 묶음
var str2 = 'log'; // 작은 따옴표로 묶음
typeof str1;
typeof str2;
[출력결과] 'string' 'string'
만약 큰따옴표로 묶은 문자형 안에 큰따옴표로 묶은 문장을 넣고 싶다면 큰따옴표가 중복되지 않도록 안에 있는 문장의 큰따옴표를 작은따옴표로 바꿔 주어야 한다. * 참고로 document.write는 html 태그와 같이 사용할 수 있다.
document.write("<span class="num">", 2022, "</span>"); //error
document.write("<span class='num'>", 2022, "</span>"); //ok
[출력결과] 2022
템플릿 문자열
ES6버전 부터는 문자열은 따옴표 말고도 백 틱( ` ) 으로 묶을수도 있다. 백 틱은 그레이브(Grave) 혹은 백 쿼트(Back Quote) 라고도 부른다. * 참고로 백 틱의 위치는 물결(~)키에 존재한다.
표현식을 ${...}으로 감싸주고, 백 틱( ` )을 이용해 문자열을 묶어주면 문자열 안에 표현식을 쉽게 끼워 넣을 수 있다. 다음은 문자열을 백 틱( ` )으로 묶은 후 currentYear 변수를 끼워 넣은 예제 코드이다.
var currentYear = 2022;
document.write(`올해는 ${currentYear}입니다.`);
2.3 불린형_Boolean
불린형은 True와 False값 만을 표현하는 자료형이다. 주로 조건문에서 자주 사용된다.
var a = 10;
var b = 20;
var bIsBig = a < b;
typeof bIsBig;
'boolean'
2.4 undefined & null
JavaScript는 undefined와 null또한 하나의 자료형으로 취급한다. 두 자료형은 언뜻보면 비슷해 보이지만 확연한 차이점을 지니고 있다.
undefined는 "처음부터 변수에 값이 할당되지 않았다."는 의미이다. 아래와 같이 변수를 선언하고 아무런 값도 대입하지 않으면 자동으로 undefined값이 할당된다.
//변수에 아무런 값도 할당하지 않음
var unde;
typeof unde
[출력결과] 'undefined'
null은 "존재하지 않는, 비어 있는" 값을 나타낼 때 사용하는 자료형이다. 따라서 아래 코드처럼 선언해 주면 "currentYear의 값이 비어 있음"을 표현할 수 있다.
var currentYear = null;
* undefined도 null과 마찬가지로 변수에 직접 할당해 줄 수 있지만, 이는 권장되지 않는다. 변수의 값이 비어있음을 나타내기 위함이라면 null값을 사용하는 것이 바람직하다.
#3 복합형
3.1 배열_Array
배열을 이용하면 여러 개의 변수들을 하나의 자료형에 저장할 수 있다.
var _html = "html";
var _css = "css";
var _js = "js";
배열에 저장할 자료를 쉼표( , )로 구분해서 대괄호([ ])로 묶어주면 배열을 선언할 수 있다.
var language = ["html", "css", "js"];
배열 안의 값에 접근하고 싶다면 "인덱스"를 이용하면 된다. 배열 이름과 대괄호 안에 원소의 위치를 지정해 주면 해당하는 원소에 접근할 수 있다.
language[0];
language[2];
'html'
'js'
3.2 객체_Object
객체는 중괄호({ })로 묶어서 사용하며, 키(Key)와 값(Value)을 콜론(:)을 사용하여 한 쌍으로 짝지어서 표현한다. 객체 안의 원소에는 "객체이름.키"와 같이 접근할 수 있다.
var language = {
_html: "html",
_css : "css",
_js : "javascript"
}
language._js
'javascript'
'Archive2 > WEB' 카테고리의 다른 글
[JS] 함수 선언문 (Function Statement) (0) | 2022.03.04 |
---|---|
[JS] var, let, const (0) | 2022.03.04 |
[JS] 변수와 상수 (var & const) (0) | 2022.03.03 |
[HTML] 문서의 기본 구조 <html> <head> <body> <!DOCTYPE> (0) | 2021.08.30 |
[HTML] 태그와 컨텐츠 (0) | 2021.08.29 |