[1일1js] 구조 분해 할당 1

Lee Tae-Sung·2021년 10월 11일
0

JS

목록 보기
40/56

구조 분해 할당

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#%EC%83%88%EB%A1%9C%EC%9A%B4_%EB%B3%80%EC%88%98_%EC%9D%B4%EB%A6%84%EC%9C%BC%EB%A1%9C_%ED%95%A0%EB%8B%B9%ED%95%98%EA%B8%B0

구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다.

구문

=> js이니 let, var 처리 해줘야함
=> const도 되나?

=> 된다.

[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(a); // 10
console.log(b); // 20
console.log(rest); // [30, 40, 50]

=> ...으로 다수의 정의도 가능

({ a, b } = { a: 10, b: 20 });
console.log(a); // 10
console.log(b); // 20

=> object 형식으로도 가능
=> Node.js에서 한번 겪었던 방식

설명

구조 분해 할당은 Perl이나 Python 등 다른 언어가 가지고 있는 기능입니다.

=> 맞아 이거 때문에 알고리즘 문제 푸는데도 Python이 더 편리했음
=> 근데 Perl이 뭐임?
=> 인터프리터 언어 중 하나

기본값

변수에 기본값을 할당하면, 분해한 값이 undefined일 때 그 값을 대신 사용합니다.

var a, b;

[a=5, b=7] = [1];
console.log(a); // 1
console.log(b); // 7

일부 반환 값 무시하기

다음과 같이 필요하지 않은 반환 값을 무시할 수 있습니다.

function f() {
  return [1, 2, 3];
}

var [a, , b] = f();
console.log(a); // 1
console.log(b); // 3
[,,] = f();

모두 무시도 가능!

나머지 요소의 오른쪽 뒤에 쉼표가 있으면 SyntaxError가 발생합니다.

var [a, ...b,] = [1, 2, 3];
// SyntaxError: rest element may not have a trailing comma

정규 표현식과 일치하는 값 해체하기

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec

=> 정규 표현식은 조금 나중에...

profile
긍정적인 에너지를 가진 개발자, 이태성입니다.

0개의 댓글