typeof 연산자 : 뒤에 오는 값의 자료형을 반환해줌(return)
const a = true, b = 12.5, c = "hi";
console.log(a, typeof a); // true 'boolean'
console.log(b, typeof b); // 12.4 'number'
console.log(c, typeof c); // hi string
let d;
console.log(d, typeof d); // undefined 'undefined'
- 변수에 값을 할당하지 않았기 때문에 자료형으로 undefined 가 반환됨
d = null;
console.log(d, typeof d); // null ⚠️자료형으로 'object' 반환
- object 라는 자료형은 따로 있지만 이를 수정하면 이전에 만들어진 웹 사이트에서 오류가 발생할 수 있기 때문에 수정이 불가함
그렇기 때문에 주어진 변수의 값이 null 인지 확인하려면 아래와 같은 방법을 사용함
console.log(d === null); // true
1. 불리언 (boolean)
- "맞다" / "아니다"
- 참 또는 거짓(true or false)으로 상반된 둘 중 하나의 값을 담을 수 있음
- 직접 할당되기보다는 반환값으로 사용됨
// 반환 값으로 사용
const a = 1 > 2;
const b = 1 < 2;
console.log(a, typeof a); // false 'boolean'
console.log(b, typeof b); // true 'boolean'
// 직접 할당해서 사용
let isEmployed = true;
let isMarried = false;
console.log('직업 있음:', isEmployed); // 직업 있음: true
console.log('기혼:', isMarried); // 기혼: false
2. 숫자(number)
- 자바스크립트에는 정수와 실수의 구분이 없어, 정수도 실수로 처리함
- 그렇기 때문에 다른 언어와 달리 double 이나 float 등의 실수형 타입을 사용하지 않는다.
- 정수는 2^53 - 1 까지 안정적으로 표현 가능(더 큰 정수는 이후 BigInt 로 표현)
let int = 100;
let real = 12.34;
let negative = -99;
console.log(int, real, negative); // 100 12.34 -99
console.log(typeof int, typeof real, typeof negative) // number number number
3. 문자열(string)
- 큰따옴표 " ", 작은따옴표 ' ', 또는 백틱 ` ` 으로 둘러싸인 텍스트 데이터
- 유니코드 문자로 전 세계의 모든 문자 표현이 가능
let first_name = "eric";
let last_name = 'Eich';
let description = `미국의 프로그래머이다.`;
console.log(first_name, last_name); // eric Eich
console.log(description); // 미국의 프로그래머이다.
console.log(
typeof (typeof true), // typeof true = 'boolean' -> typeof (boolean)
typeof (typeof 123.45), // typeof 123.45 = 'number' -> typeof (number)
typeof (typeof 'Hello'), // typeof 'Hello' = 'string' -> typeof (string)
); // string string string
4. undefined
- 값이 부여되지 않은 상태지만 하나의 값에 해당함
let x;
console.log(typeof x); // undefined
- console 창에 입력했을 때 뒤에 undefined 가 나오는 이유
5. null
- 의도적인 빈 값이지만 하나의 값에 해당("비어있다" 의 의미를 가진 값)
- object(객체) 등이 들어있거나 반환되어야 하지만 없을 때 주로 사용(지금 당장 할당할 값이 없을 때)
let x = 1;
console.log('변경 전', x); // 변경 전 1
x = null;
console.log('변경 후', x); // 변경 후 null
정리 참조
https://www.yalco.kr/@javascript/2-1/
'JavaScript' 카테고리의 다른 글
문자열(string) - 텍스트 데이터 (0) | 2023.03.01 |
---|---|
자료형과 정적 / 동적 타입 (0) | 2023.03.01 |
함수에서 파라미터를 사용하는 이유 (0) | 2022.06.06 |
Deleting To Dos part 1 (0) | 2022.03.22 |
Loading To Dos part 2 (0) | 2022.03.18 |