본문 바로가기
Front-End/JavaScript

[JavaScript] 자바스크립트 데이터 타입

by 민바이민 2020. 12. 13.

JavaScript

자바스크립트 데이터 타입

타입이란 프로그램에서 다룰 수 있는 값의 종류를 의미합니다.

1. 숫자형(number)
자바스크립트는 다른 언어와 달리 정수와 실수를 따로 구분하지 않습니다. 모든 수를 실수 하나로만 표현한다. 최고👍🏻

2.문자열형(string)
자바스크립트에서는 문자열을 쌍따옴표나 따옴표로 둘러싸인 문자의 집합을 의미합니다.

const str1 = "오석민 : '여러분 반갑습니다!'";
const str2 = '오석민 : "여러분 반갑습니다!"';
const str3 = "\"안녕하세요. \n자바스크립트\"";
const str4 = `자바스크립트에서는 문자열을 쌍타옴표나 따옴표로
                      둘러싸인 문자의 집합을 의미합니다.`;             //  
`(백쿼트)

문자열을 혼합해서 사용할 때 백쿼트를 사용하면 편해진다. 변수는 ${변수명}으로 호출하면 된다.

3.불리언형(boolean)
참(true)과 거짓(false)으로 표현되는 값이다.

const b = true;

4. undefined, null 형

  • undefined란 "타입이 정해지지 않은 것을 의미한다."(변수 선언 후 값이 정해지지 않았을 경우)
    - JavaScript는 다른 언어들과 다르게 변수(let)로만 생성하기 때문에(java는 int, str ... 등 처음부터 데이터타입으로 선언한다. 혹은 서버에서 값을 못 받아내서 출력이 안될 수도 있다. 그러면 undefined로 나온다.)
  • null은 object 타입이며 아직 "값"이 정해지지 않은 것을 의미합니다.

let a = 10;    // 변수 혹은 스칼라(파이썬 혹은 데이터쪽에서 변수의 값이 하나일 때 부른다)
let a = [값, 값, 값 ...]    // 배열
let a = {값, 값, 값 ...}    // 객체
let a = null;    // 객체를 저장할 준비를 한다는 것을 의미한다. 허나 지금은 값이 정해져있지 않다.
let a = {};    // 빈 객체가 a에 들어가 있는 값이다.

 

 

5.심볼형(Symbol)
ECMA Script 6 에서 추가된 데이터 타입입니다. 유일하고 변경 불가능한 기본값을 만듭니다. 객체 속성의 key값으로도 사용될 수 있습니다.

const sym1 = Symbol('a');
const sym2 = Symbol('a');

let a = 10;
let b = 10;
console.log(a == b);    // true    // == 같다, = 대입

console.log(sym1 == sym2 );    // false값이 출력된다. 
아이덴티티(identity)를 각 각 주기때문에 같은 값을 주어도 들어가는 키(key)값이 다르기 때문에 false가 나온다

만일 true가 나오고 싶다면

const sym1 = Symbol();
const sym2 = sym1;

console.log(sym1 === sym2);
// true가 출력된다.

 

6.객체형(Object)
여러 속성을 하나의 변수에 저장할 수 있도록 해주는 데이터 타입이다.
(key / value pair 저장할 수 있는 구조) 👈🏻 사물함이라고 생각해보면 된다. 사물함 안에 들어가 있는 내용물(ex 국어책)은 같을 수 있지만 사물함의 열쇠는 다르다.

let user = new Object();
let user = {};

let user = {"name":"김사과", "age":20};
                 -------   -------
                   key       value

console.dir(변수명);    // 객체 정보를 볼 수 있다.

객체 안의 값을 출력하고싶다면

console.log(user.name);
console.log(user.age);

변수명.key 를 사용하여 출력해준다.

 

댓글