Destructuring Assignment   분할 대입 연산

(2020-03-04)

분할 할당, 비구조화 할당, Spread Operator, 전개 연산자, Multiple Assignment, 다중 할당문

Top 정보기술(IT) 프로그래밍 프로그래밍언어 종류 자바스크립트 JS 구문,연산자

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

  ㅇ Perl,Python 등에서는, 다음과 같은 형태를 지원 함
     - 例) a = b = c =1          # 여러 변수에 단일 값 할당
     - 例) x, y = 'a', 'b'       # 두 변수에 다른 값 할당
     - 例) z = x, y = 'a', 'b'   # 단일 변수에 다중 값 할당
     - 例) x,y,z = 표현식        # 1 이상의 변수 x,y,z에 표현식 값을 각각 할당


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)



Copyrightⓒ written by 차재복 (Cha Jae Bok)