> 웹 프론트엔드 > JS 튜토리얼 > JavaScript의 구조 분해 할당 이해하기

JavaScript의 구조 분해 할당 이해하기

Barbara Streisand
풀어 주다: 2024-12-20 02:50:10
원래의
461명이 탐색했습니다.

Demystifying Destructuring Assignment in JavaScript

JavaScript의 구조 분해 할당

JavaScript의 구조 분해 할당은 배열의 값이나 객체의 속성을 고유한 변수로 풀 수 있는 구문입니다. 데이터를 추출할 때 코드를 더 간결하고 읽기 쉽게 만듭니다.


1. 배열 파괴

배열 구조 분해는 배열에서 값을 추출하여 변수에 할당합니다.

:

const fruits = ["Apple", "Banana", "Cherry"];
const [first, second, third] = fruits;
console.log(first); // Output: Apple
console.log(second); // Output: Banana
console.log(third); // Output: Cherry
로그인 후 복사
로그인 후 복사

아. 요소 건너뛰기

쉼표 사이에 공백을 남겨두면 요소를 건너뛸 수 있습니다.

:

const numbers = [1, 2, 3, 4, 5];
const [first, , third] = numbers;
console.log(first); // Output: 1
console.log(third); // Output: 3
로그인 후 복사
로그인 후 복사

베. 기본값

배열 요소가 정의되지 않은 경우 기본값을 사용할 수 있습니다.

:

const colors = ["Red"];
const [primary, secondary = "Blue"] = colors;
console.log(primary); // Output: Red
console.log(secondary); // Output: Blue
로그인 후 복사
로그인 후 복사

ㄷ. 나머지 구문

나머지 연산자 ...를 사용하여 나머지 요소를 배열로 수집합니다.

:

const numbers = [1, 2, 3, 4];
const [first, ...rest] = numbers;
console.log(first); // Output: 1
console.log(rest); // Output: [2, 3, 4]
로그인 후 복사
로그인 후 복사

2. 객체 구조분해

객체 구조 분해는 객체의 속성을 변수로 추출합니다.

:

const person = { name: "Alice", age: 25, country: "USA" };
const { name, age } = person;
console.log(name); // Output: Alice
console.log(age); // Output: 25
로그인 후 복사

아. 변수 이름 바꾸기

콜론(:)을 사용하여 구조 분해하는 동안 변수 이름을 바꿀 수 있습니다.

:

const person = { name: "Alice", age: 25 };
const { name: fullName, age: years } = person;
console.log(fullName); // Output: Alice
console.log(years); // Output: 25
로그인 후 복사

베. 기본값

속성이 정의되지 않은 경우 기본값을 사용할 수 있습니다.

:

const person = { name: "Alice" };
const { name, age = 30 } = person;
console.log(name); // Output: Alice
console.log(age); // Output: 30
로그인 후 복사

ㄷ. 중첩 객체 해체

중첩된 개체의 속성을 분해할 수 있습니다.

:

const employee = {
  id: 101,
  details: { name: "Bob", position: "Developer" },
};
const {
  details: { name, position },
} = employee;
console.log(name); // Output: Bob
console.log(position); // Output: Developer
로그인 후 복사

디. 나머지 구문

나머지 연산자를 사용하여 나머지 속성을 수집합니다.

:

const person = { name: "Alice", age: 25, country: "USA" };
const { name, ...others } = person;
console.log(name); // Output: Alice
console.log(others); // Output: { age: 25, country: "USA" }
로그인 후 복사

3. 혼합 구조분해

배열과 객체 구조 분해를 결합할 수 있습니다.

:

const data = {
  id: 1,
  items: ["Apple", "Banana", "Cherry"],
};
const {
  id,
  items: [firstItem],
} = data;
console.log(id); // Output: 1
console.log(firstItem); // Output: Apple
로그인 후 복사

4. 함수 매개변수 구조분해

함수 매개변수에서 직접 배열이나 객체의 구조를 해제할 수 있습니다.

아. 매개변수의 배열 구조 분해:

function sum([a, b]) {
  return a + b;
}
console.log(sum([5, 10])); // Output: 15
로그인 후 복사

베. 매개변수의 객체 구조 분해:

const fruits = ["Apple", "Banana", "Cherry"];
const [first, second, third] = fruits;
console.log(first); // Output: Apple
console.log(second); // Output: Banana
console.log(third); // Output: Cherry
로그인 후 복사
로그인 후 복사

5. 실제 사용 사례

  • 변수 교체:
const numbers = [1, 2, 3, 4, 5];
const [first, , third] = numbers;
console.log(first); // Output: 1
console.log(third); // Output: 3
로그인 후 복사
로그인 후 복사
  • 함수에서 여러 값 반환:
const colors = ["Red"];
const [primary, secondary = "Blue"] = colors;
console.log(primary); // Output: Red
console.log(secondary); // Output: Blue
로그인 후 복사
로그인 후 복사
  • API 응답 처리:
const numbers = [1, 2, 3, 4];
const [first, ...rest] = numbers;
console.log(first); // Output: 1
console.log(rest); // Output: [2, 3, 4]
로그인 후 복사
로그인 후 복사

6. 요약

  • 구조 분해를 사용하면 배열과 객체의 데이터를 깔끔하고 간결하게 변수로 추출할 수 있습니다.
  • 기본값을 사용하고, 이름을 바꾸고, 구문을 복원하고, 중첩된 객체나 배열을 구조 해제할 수도 있습니다.
  • 현대 JavaScript, 특히 React, Redux 및 API 처리 시 널리 사용됩니다.

구조 분해 할당을 마스터하면 JavaScript 코드를 더 읽기 쉽고 효율적으로 만들 수 있습니다.

안녕하세요. 저는 Abhay Singh Kathayat입니다!
저는 프론트엔드와 백엔드 기술 모두에 대한 전문 지식을 갖춘 풀스택 개발자입니다. 저는 효율적이고 확장 가능하며 사용자 친화적인 애플리케이션을 구축하기 위해 다양한 프로그래밍 언어 및 프레임워크를 사용하여 작업합니다.
제 비즈니스 이메일인 kaashshorts28@gmail.com으로 언제든지 연락주세요.

위 내용은 JavaScript의 구조 분해 할당 이해하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿