강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Sec님의 프로필 이미지
Sec

작성한 질문수

한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지

배열과 객체의 구조분해할당 방법이 다른 이유

작성

·

17

0

// 배열 구조분해할당
const arr = ['a', 'b', 'c'];
const [first, second] = arr;
// 객체 구조분해랃당
const obj = { name: 'Kim', age: 25 };
const { age, name } = obj;

배열과 객체의 구조분해할당 방법이 다른 이유가 뭔가요?

구조분해할당 시 배열은 순서가 중요하고 객체는 이름이 중요한건가요?

 

만약 그렇다면 배열은 인덱스 기반 접근이라 순서가 중요하고, 객체는 키 기반 접근이라 키(이름)이 중요한건가요?

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. Sec님.

자바스크립트에서 배열과 객체의 구조분해할당이 다른 이유는 두 데이터 구조의 본질적인 차이 때문입니다. 여기에 대해 간단한 설명과 기존에 유사한 질문에 대한 답변을 참고해 드리겠습니다.

배열의 구조분해할당

배열은 인덱스 기반 데이터 구조로, 요소가 순서대로 정렬됩니다. 구조분해할당에서는 배열의 순서에 따라 변수에 값이 할당됩니다. 예를 들어 [first, second] = arr;에서 firstarr[0], secondarr[1]의 값을 가집니다.

객체의 구조분해할당

객체는 속성-값 쌍으로 구성된 데이터 구조로, 속성(프로퍼티) 이름을 기반으로 값에 접근합니다. 객체를 구조분해할당할 때는 "키 이름"을 기준으로 값이 할당됩니다. 즉, { age, name } = obj;에서는 objagename 속성을 찾아 변수에 할당합니다.

결론

따라서, 배열은 인덱스 기반으로 순서가 중요한 반면, 객체는 이름 기반으로 키가 중요합니다. 이 차이로 인해 구조분해할당 방법도 자연스럽게 다르게 구현됩니다.

관련된 다른 유사 질문에 대한 답변도 확인해보시기 바랍니다:
- JavaScript 구조분해할당 차이 이해하기 (예시, 실제 URL은 강의 상세 페이지에서 확인)

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Sec님의 프로필 이미지
Sec

작성한 질문수

질문하기