JavaScript 는 변수에 저장되는 값의 타입이 언제든지 바뀔 수 있는 "동적 타입 언어" 이다.
let msg = "abc";
msg = 1234;
1. 숫자형
- 정수 및 부동소수점 숫자.
- 특수 숫자 값: Infinity, -Infinity, NaN(계산 중 에러 발생 알려주는 값)
2. BigInt
- 2^53-1 ~ -(2^53-1) 범위를 벗어나는 수를 표현하기 위한 자료형
- 길이에 상관없이 정수를 나타낼 수 있고, 정수 리터럴 끝에 const bigInt = 333333333333333333333333333n; 과 같이 'n' 을 붙여줘야한다.
- 최신 자료형이므로, 지원하지 않는 브라우저가 존재한다.(IE)
3. 문자형
- 문자열은 따옴표, 작은따옴표로 묶인다.
- "", '' 는 백틱처럼 중간에 표현식을 넣을 수 없다.
- 백틱(`) 을 써서 원하는 변수나 표현식을 감싼뒤, ${ } 안에(문자열 중간에) 넣어줄 수 있다.
let name = "John";
// 변수를 문자열 중간에 삽입
alert( `Hello, ${name}!` ); // Hello, John!
// 표현식을 문자열 중간에 삽입
alert( `the result is ${1 + 2}` ); // the result is 3
4. 불린형
- true, false
- 비교 결과를 바로 불린형으로 저장할 수 있다.
let isGreater = 4 > 1;
alert( isGreater ); // true
5. null
- 여타 언어와 다른 특성을 가짐
- 존재하지 않는 / 비어 있는 / 알 수 없는 값은 모두 null 로 처리된다. (ex. let myName = null; // 내 이름을 알 수 없거나, 비어있다)
6. undefined
- 값이 할당되지 않은 상태를 표현.
- let age; alert(age); 와 같이 값을 할당하지 않았으면 자동으로 undefined 가 할당됨.
- 만약 변수를 일부러 비워두거나, 알 수 없는 상태로 나타내고싶다면 null 을 써야함.
7. 객체형
- 1~6번은 모두 1 가지 자료만 표현하기 위한 원시 primitive 자료형.
- 객체형, 심볼형은 복잡한 표현 가능.
8. 심볼형
- 객체의 고유한 식별자를 만들 때 사용.
PS) typeof 연산자를 통해 변수의 자료형을 알아낼 수 있다.
typeof undefined // "undefined"
typeof 0 // "number"
typeof 10n // "bigint"
typeof true // "boolean"
typeof "foo" // "string"
typeof Symbol("id") // "symbol"
typeof Math // "object" -- Math 는 내장 객체이므로 object 가 출력됨.
typeof null // "object" -- null 은 객체가 아니지만, 하위 호환성때문에 오류가 그대로 남아있음. 객체아님.
typeof alert // "function" -- 피연산자가 함수면 typeof 는 함수를 그대로 반환함. (함수형이 아님)'언어 > JavaScript' 카테고리의 다른 글
| 형 변환 (0) | 2025.03.19 |
|---|---|
| alert, prompt, confirm (0) | 2025.03.18 |
| 변수, 상수 선언하기 (0) | 2025.03.18 |
| JS 코드블록 특징 (0) | 2025.03.18 |
| <script> 태그 (0) | 2025.03.18 |