📝 자료형
값을 성질에 따라 분류한 것을 자료형이라고 한다.
- 25라는 숫자는 Number
- "25"라는 문자는 String
이런 식으로 나눠지는데 크게는 Primitive Data Type(원시타입) 과 Non-Primitive Data Type(비원시타입)으로 나뉜다.
더 자세하게는 5개의 원시타입과 3개의 비원시타입으로 나눠진다고 말한다.
📝 Primitive Type (원시타입)
한번에 하나의 값만 가질 수 있는 것을 primitive type 이라고 한다.
따라서 하나의 고정된 저장 공간만 이용한다.
앞 게시글인 "변수와 상수" 에서 사용한 값들이 전부 원시타입이다.
원시 타입을 내장형 타입 or 기본형 타입이라고 부르기도 한다.
📝 Non-Primitive Type (비원시타입)
한번에 여러 값을 가질 수 있는 것을 non-primitive type 이라고 한다.
따라서 여러 개의 고정되지 않은 동적 공간을 사용한다.
그럼 자료형의 대표적 타입 두가지를 알아보았는데 먼저 원시타입을 기본적으로 사용하니 먼저 살펴보자.
📝 Number(숫자형)
정수, 실수, 무한대 등 위에 나오는 값들은 전부 숫자형인 Number이다.
이 숫자형 타입들은 사칙연산 전부 제공하고 있다.
📝 String(문자형)
여기서 중요한게 ``(백틱) 이다.
백틱을 사용하는 이유는 문자열 안에서 변수를 사용하기 위함이다.
${변수명} 으로 문자열과 변수를 사용할 수 있는데 이것을 템플릿 리터럴이라고 한다.
📝 Boolean (참 거짓)
true(참) 또는 false(거짓)이라는 값만 가지는 자료형이다.
📝 Null (아무 값이 없다)
null은 아무 값이 없다라는 것을 의미하지만, js에서는 특별하게 자료형으로 사용된다.
보통 변수를 선언하고 값을 할당하지 않으면 null로 나오지만 js에서는 undefined로 나온다.
따라서 null은 의도적으로 아무것도 담고있지 않다라는걸 표현하기 위해 사용한다.
📝 Undefined
변수를 선언하고 값을 할당하지 않으면 자동으로 Undefined 값이 할당된다.
📝 형변환
- numberA는 숫자형 12
- numberB는 숫자형 2
- StringA는 문자형 "2"
위 같은 변수가 있을 때 연산하면 어떻게 되는지 보자.
- 숫자형 * 숫자형 = 숫자형
- 숫자형 * 문자형 = 숫자형
이것은 자바스크립트가 자동으로 문자열 "2"를 숫자형 2로 인지한 것이다.
자바스크립트 엔진은 다른 자료형과 연산할 때 적절하게 변환하여 결과를 돌려준다.
값은 유지하면서 자료형을 변환하는 것을 형변환이라고 한다.
지금처럼 자동적으로 형변환이 되는 것은 묵시적 형변환이라고 한다.
- 숫자형 + 문자형 = 문자형
이번에는 이런 결과가 나왔다. 12 + "2" = "122"
아까 곱셈과 달리 더하기는 문자로 이어붙여진다.
그러므로 숫자형으로 계산하려면 parseInt() 메서드를 사용해서 문자열을 숫자로 변환해준다.
이렇게 의도적으로 변환하는 것을 명시적 형변환이라고 한다.
'프로그래밍 > JavaScript' 카테고리의 다른 글
[JS] 변수와 상수 (0) | 2022.05.18 |
---|