DATA TYPE - 기초 데이터 타입 및 기본형 (Primitive Type) 이해하기

2020. 7. 2. 15:29SERVER 🖥/JavaScript 입문

    안녕하세요!

    이번 시간에는 자바스크립트의 기초 데이터 타입(data type)에 대해서 다뤄보도록 하겠습니다.

     

    🚀 데이터 타입(type) 이란❓

    데이터 타입이란 변수를 선언할 때, 숫자나 문자 혹은 문자열 등을 변수에 저장하는 데이터 종류를 뜻합니다.

    즉, 프로그램에서 다룰 수 있는 값의 종류를 말합니다.

     

    데이터 타입에는 크게 두가지로 나누어 집니다.

     

    1. 정적 타입 언어(static typed language)

    정적 타입 언어는  변수의 타입과 일치하는 데이터만 저장  이 가능합니다.

    C언어를 예시로 들어보겠습니다.

     

    👉 예시

     

    #include <stdio.h>
    
    int main(){
    	
        int number = 3;  // int형 타입의 number에 3이 들어간다
        int str = "hello"; // int형 타입임으로 str에 hello가 들어갈 수 없다
        return 0;
    
    }

     

    여기 정수 타입 변수(int)를 가진 변수 number, str이 있습니다.

    number의 경우 정수 타입임으로  정수형태인 3이 들어갑니다.

    그러나 str의 경우, 정수가 아닌 문자열인 "hello"라는 정보가 입력되기 때문에 오류가 나타납니다.

     

    int변수의 문자열을 넣자 오류가 나타났다.

    즉, 변수의 타입과 일치하는 데이터만 저장할 수 있는 언어를 "정적 타입 언어(static typed language)"라고 합니다.

     

     

    2. 동적 타입 언어(dynamic typed language)

    동적 타입 언어는  변수의 타입 없이 모든 타입의 데이터를 저장  할 수 있습니다. 

    자바스크립트는 변수에 타입이 없는 동적 타입 언어입니다. 

    var을 통해 선언하며 어떤 타입의 데이터든 저장할 수 있습니다.

     

    👉 예시

     

    var num = 3;
    console.log(num);   // num에 숫자 3이 저장된다.
    
    var num = 'hello';
    console.log(num);   // num은 var이라는 동적 타입임으로, 문자열 hello가 저장된다.

     

    🚀 데이터 타입 분류

    데이터 타입은 크게  기본형  참조형  두가지로 나누어집니다.

     

    💥 기본형 또는 원시 타입 (Primitive Type) : 값을 그대로 할당

    ▪️ Number

    ▪️ String

    ▪️ Boolean

    ▪️ Null

    ▪️ Undefuned

    ▪️ +ES6 : Symbol

     

     

    📌 Number (숫자)

    기본적으로 대부분의 프로그래밍 언어들이 정수/실수 타입을 구분합니다.

    그러나 자바스크립트는 타입이 없기 때문에  숫자를 모두 64bit 부동소수점으로 표현  합니다.

     

    👉 예시

     

    var num = 1;  // num에 정수 1을 저장
    var num = 2.3;  // num에 소수 2.3을 저장
    var num = 10e6; //e는 n승을 표현. 즉, 10^6(10의 6승)값을 저장.

     

    📌 String (문자열)

    문자의 집합을 말합니다. 

    큰 따음표 (") 혹은 작은 따음표 (')로 둘러쌓여 있습니다.

     

    👉 예시

     

    var str = "큰 따음표 문자열 저장하기";
    console.log(str); // -> 큰 따음표 문자열 저장하기
    var str = '작은 따음표 문자열 저장하기'; // -> 작은 따음표 문자열 저장하기
    console.log(str); // -> 작은 따음표 문자열 저장하기

     

    📌 Boolean(True/False)

    Boolean은 2가지 리터럴 값  true(참)   ,  false(거짓)  중 하나의 값을 가집니다.
    true는 1 , false는 0 의 값을 가져 조건문에 많이 사용됩니다.

     

    👉 예시

     

    var istrue = true;  //true라는 Boolean타입을 가지며 1의 값을 가집니다.
    var isfalse = false;  //false라는 Boolean타입을 가지며 0의 값을 가집니다.

     

    📌 Null, Undefined

    값이 아무것도 없음을 의미합니다.

    Null과 Undefined의 차이가 존재하는데,

    Undefined는 변수를 선언만 하고 값을 할당하지 않습니다.  

    반대로 Null의 경우 변수를 선언하고 null이라는 빈 값을 할당합니다.

    반 값을 자료형에 따라 여러가지가 있는데 문자열의 경우 "" , 숫자의 경우 0 이라는 반 값을 가집니다.

     

    요약하면,

     Undefined -> 자료형이 결정되지 않은 변수 

     Null -> 자료형이 객체인 비어있는 변수 입니다. 

     

    👉 예시

     

    null == undefined;  // true
    null === undefined;  // false

     

    💥 참조 타임(Reference Type) : 값이 저장된 주소값를 할당

    ▪️ Object

        - Array

        - Function

        - RegExp(정규표현식)

        - +ES6 : map,set ,weamap, weakset

     

    📌 Object

    다수의 property 혹은 method를 하나의 이름으로 묶어놓은 집합체를 객체(Object)라고 합니다.

     

    ✍️선언 방법

    객체 선언 : 중괄호 {}
    객체 형태 : 이름(key):값(value)

    프로퍼티 : 위 데이터의 한 쌍을 뜻한다.

     

    👉 예시

     

    var obj = {
        a : "hello",  //obj라는 객체에 a(key):hello(value)값을 저장
        b : 3,  //obj라는 객체에 b(key):3(value)값을 저장
    }

     

     

    Array. Function. RegExp

    는 다음 포스팅에서 더욱 자세히 알아보겠습니다 😀

     

     

     

    지금까지 자바스크립트의 데이터 타입에 대해 알아보았습니다.

    다음 시간에 더욱 자세한 내용을 들어가겠습니다.

     

     

     

     

     

    참고 : velog.io/@yuuuye/