Destructuring Assignment   분할 대입 연산

(2022-01-14)

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


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
  
  ㅇ 객체 例)
     * 객체인 경우, 배열과 달리, 이름으로 프로퍼티를 개별 변수로 분해
     - const book = { title : '책제목', price : 123 };
       { price, title, writer } = book; // price = 123, title = '책제목', writer = undefined
       { price, writer = 'anonymous'} = book; // price = 123, writer = 'anonymous'
     - 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)

  ㅇ `반복 가능한 객체(Iterable Object)`를, 배열 리터럴 또는 함수의 인수 목록으로 펼칠 수 있음
     - 주로, 배열 형식을 목록화시켜 다루기 쉽도록 함

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

[JS 구문,연산자]1. JS 구문   2. JS 연산자   3. 분할 대입 연산  

  1. Top (분류 펼침)      :     1,594개 분류    6,533건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)