본문 바로가기
Javascript

JavaScript - 데이터 타입

by Su1993 2020. 6. 21.
반응형

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

댓글