본문 바로가기

프로그래밍/Javascript

[JavaScript] ES6 자료형 정리 (2/2)

null과 undefined

  • null: 프로그래머에게 허용된 데이터 타입
  • undefined : 자바스크립트에서 사용
    • 명시적으로 undefinde를 할당하지 않는 것을 권장함

객체

  • const obj = {}; // 빈 객체
    obj.color = "yellow";
    obj["not an identifier"]=3;
    const SIZE = Symbol(); // 심볼도 프로퍼티가 될 수 있다
    obj[SIZE]=8;
  • const obj2 ={
        name="Sam";
        classification: { // 객체도 프로퍼티가 될 수 있다
        kingdom:'Anamalia',
        phylun:'Chordata',
        }
    }
    obj2.speak=function(){return "Meow!";}; // 객체에 함수를 담을 수도 있다
    obj2.speak(); // "Meow!"
    delete obj2.classification; // classification 프로퍼티 제거

Number,String,Boolean 객체

  • 숫자,문자열,불리언에는 각자 대응하는 객체 타입이 있다
    • 특수한 값 저장을 위해
    • 함수 형태로 기능 제공을 위해
  • const s = "hello";
    s.toUpperCase(); // "HELLO"
    • 자바스크립트는 일시적인 string 객체를 생성하고, 함수를 호출하는 즉시 임시 객체를 파괴한다.

배열

  • 자바스크립트 배열의 특징
    • 배열 요소는 0으로 시작한다.
    • 요소의 데이터 타입을 가리지 않는다.
    • 배열 크기는 고정되지 않는다
  • const a1 = [1,2,3,4];
    const a2 = [1,"two",3,null]; // 여러 가지 타입으로 구성된 배열
    const a3 = [    // 여러 줄로 정의한 배열
        'a',
        'B',
        'c',
    ];
    const a4 = [    // 객체가 들어있는 배열
        {name: "a", num: 1},
        {name: "b", num: 2},
    ];
    const a5 = [    // 배열이 들어있는 배열
        [1,3,5],
        [2,4,6],
    ];
    a3.length; // 3(요소의 개수 반환)
    a3[0]; // 'a'(첫번째 요소)
    a3.[a3.length-1]; // 'c'(마지막 요소)
    a3[2]='z'; // a3 = ['a','b','z']

객체와 배열 마지막의 쉼표

  • 객체와 배열 요소를 여러 행에 나눠 썼을때, 마지막에 쉼표가 있다
  • trailing comma, dangling comma, terminal comma 등으로 불린다
  • 인터넷 익스플로러 초기 버전과 JSON에서는 마지막 쉼표를 허용하지 않는다.
  • 각 팀의 스타일 가이드를 따르도록 한다.

날짜

  • 내장된 Date객체에서 담당
  • const now = new Date();
    now; // 현재 날짜 객체 생성
    const halloween = new Date(2020, 9, 31); // 특정 날짜에 해당하는 객체
    // 월은 0부터 시작한다(9==10월)
    const halloweenParty = new Date(2020,9,31,19,0); // 특정 날짜, 시간에 해당하는 객체
  • 날짜 객체를 만들면 각 부분을 가져올 수 있다.
    • haloweenParty.getFullYear(); 
      haloweenParty.getMonth(); 
      haloweenParty.getDate(); 
      haloweenParty.getDay(); 
      haloweenParty.getHours(); 
      haloweenParty.getMinutes(); 
      haloweenParty.getSeconds(); 
      haloweenParty.getMilliseconds(); 

정규표현식

  • 문자열에서 필요한 복잡한 검색과 교체 작업을 비교적 단순하게 만든다.
  • // 이메일 정규표현식
    const email = /\b[a-z0-9._-]+@[a-z_-]+(?:\.[a-z]+)+\b/;

맵과 셋

  • 맵: 키-값 연결
  • 셋: 배열과 유사하지만 중복값 허용하지 않음

데이터 타입 변환

  • 문자열을 숫자로 변환
    • 1) Number 객체 생성자 이용
      • const numStr = "33.3";
        const num = Number(numStr);
        // Number객체의 인스턴스가 아닌, 숫자 값을 생성한다
        // 숫자로 바꿀 수 없는 문자열은 NaN 반환
    • 2) parseInt나 parseFloat 함수를 이용
      • const a = parseInt("16 volts", 10); // 숫자가 아닌 문자 무시, 10진수 16
        const b = parseInt("3a", 16); // 16진수 3a == 10진수 58
        const c = parseFloat("15.5 kph"); // 15.5(기수가 항상 10이라 가정)
    • 3) Date객체 - valueOf() 메서드 이용
      • const d = new Date();
        const ts = d.valueOf(); // UTC 1970년 1월 1일 자정으로부터 몇 밀리초가 지났는지 나타내는 숫자
    • 4) 불리언 - 조건 연산자 사용
      • const b = true;
        const n = b ? 1 : 0;
  • 문자열로 변환
    • toString() 메서드 이용
      • const n = 33.5;
        n; // 33.5
        const s = n.toString();
        s; // "33.5"
        const arr = [1, true, "hello"];
        arr.toString(); // "1, true, hello"
  • 불리언으로 변환
    • 부정 연산자를 사용하거나, Boolean 생성자 사용
      • const n=0;
        const b1 = !!n; // false
        const b2 = Boolean(n); // false

'프로그래밍 > Javascript' 카테고리의 다른 글

[JavaScript] ES6 자료형 정리 (1/2)  (0) 2020.01.02