Destructuring Assignment   분할 대입 연산

(2019-04-21)

분할 할당, 비구조화 할당, Spread Operator, 전개 연산자

1. 분할 대입 또는 비구조화 할당 (Destructuring Assignment) 연산배열 또는 객체를 요소별로 분해하여,
     각각의 요소/프로퍼티 값을 개별 변수로 분할 대입


2. 분할 대입 例배열 例)
     - [x, y, z] = [1, 2, 3]; // x = 1, y = 2, z = 3
     - [x, y, z] = [1, 2]; // z = undefined
     - x = 1; y = 2; [x, y] = [y, x] // x = 2; y = 1 (Swapping, 교환)
     - [x, y, ... other] = [1, 2, 3, 4, 5,]; // other = [3, 4, 5]
        . ...other를 나머지 요소(rest element)라고 함
     - [,x,,y] = [1,2,3,4]; // x = 2, y = 4
  
  ㅇ 객체 例)
     * 객체인 경우, 배열과 달리, 이름으로 프로퍼티를 개별 변수로 분해
     - { price, title, writer } = { title : '책제목', price : 123, writer : '미상' };
     - var {a : x, b : y} = {a : 1, b : 2} // x = 1, y = 2
     - {a : x, b : y} = {a : y, b : x} // x,y 값 교환 (Swapping, 교환)


3. 전개 연산자 (Spread Operator)반복 가능한 객체배열 리터럴 또는 함수의 인수 목록으로 펼칠 수 있음

  ㅇ 例)
     - [..."abc"] => ["a","b","c"]
     - func(..."abc") => func("a","b","c")
     - [1, ...[2,3,4], 5] => [1,2,3,4,5]
     - func(...[1,2,3]) => func(1,2,3)


[JS 연산자] 1. JS 연산자 2. 분할 대입 연산
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
              1. JavaScript
              2. JS 기초 문법
          1.   JS 변수,타입,논리식
          2.   JS 연산자
            1.   1. JS 연산자
                2. 분할 대입 연산
          3.   JS 함수
          4.   JS 객체
          5.   JS 배열/Map/Set
          6.   JS 활용
          7.   JS 웹문서 제어
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌