JavaScript에는 6가지 데이터 타입이 있다.
- undefined
- null
- boolean
- 숫자
- 문자열
- 객체
1. typeof 연산자
typeof연산자를 통해 이 값, 이 변수는 무슨 데이터 타입인지 알 수 있다.
typeof연산자를 적용하면 다음 문자열 중 하나를 반환한다.
- undefined : 정의되지 않은 변수
- boolean
- string
- number
- object: 함수를 제외한 객체 또는 object
- function
다음과 같이 사용한다.
let msg = "message";
console.log(typeof msg);
console.log(typeof 100);
null이라는 데이터 타입이 object로 반환되는 것이 헷갈릴 수 있지만, null은 빈 객체를 참조하고 있어서 그렇다.
console.log(typeof []);
이전에 배운 array는 object이다. 사실 배열은 확장된 객체이기 때문이다.
1-1. undefined
undefined라는 값은 var, let, const를 사용해서 변수를 정의할 때, 초기화하지 않았다면 변수에는 undefined가 할당된다.
let msg;
console.log(msg === undefined); //true
1-2. null
null 타입은 데이터 타입 중 하나이다.
null은 말 그대로 아무것도 아닌 빈 객체를 가리키고 있어서 object라고 나온다.
1-3. boolean
boolean 타입에는 두가지 값이 있다. true, false이다.
다른 데이터 타입이 boolean으로 변환되는 경우가 여러 개 있다.
true로 변환되는 값
- 문자열: 비어 있지 않은 문자열 모두
- 숫자: 0이 아닌 모든 숫자
- 객체: 모든 객체
false로 변환되는 값
- 문자열: ""(빈문자열)
- 숫자: 0, NaN
- 객체: null
- undefined
이 말 뜻은 if 조건문에는 true/false로 판단하고 if문을 실행한다.
let sam = 3;
if (sam === 3) { //sam === 3 이 true이면
//실행
}
let msg = "message";
if (msg) {
//
}
해당 if문은 비교나 검사할 조건 없이 msg만 들어가 있다. 그런데 문자열은 ""빼고 모두 true라고 앞서 얘기했다. 그래서 저 위의 (msg) 부분은 true가 되고, if문이 실행된다.
let number = 0;
if (number) {
}
위 if문은 숫자 0일 때, false로 변환되니까 if문이 실행되지 않는다.
1-4. 문자
문자열(string) 데이터 타입은 ""(쌍따옴표)나 "(홀따옴표)로 감싼 모든 표현을 뜻한다.
1-5. 숫자
숫자(number) 데이터 타입은 따옴표 없이 숫자만을 쓸 때 number형이다.
1-6. 객체
마지막은 객체(object) 데이터 타입이다. 객체는 키와 값의 조합으로 이루어진 데이터이다.
'Javascript' 카테고리의 다른 글
JavaScript - String, Number 변환 (0) | 2020.06.22 |
---|---|
JavaScript - String (0) | 2020.06.21 |
JavaScript - 배열 조작하기 (0) | 2020.06.21 |
JavaScript - for문 (0) | 2020.06.21 |
JavaScript - Array(배열) (0) | 2020.06.21 |
댓글