inflearn logo
강의

Course

Instructor

JavaScript All-in-One: From Vanilla JavaScript to SPA Development

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

Resolved

82

Sec

18 asked

0

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

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

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

 

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

 

 

javascript

Answer 2

1

hyobin

안녕하세요 🙂 질문 감사합니다.

배열과 객체의 구조 분해 할당 방식이 다른 이유는 자바스크립트에서 배열과 객체가 값을 구분하는 기준 자체가 다르기 때문입니다.

질문 주신 것과 같이, 배열은 인덱스 기반 접근이라 순서가 중요하며, 객체는 키 기반 접근이라 이름(키)이 중요하기 때문입니다.

0

communityai8509

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

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

배열의 구조분해할당

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

객체의 구조분해할당

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

결론

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

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

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

콜백 함수 메서드 등록

0

82

2

ssr방식 경험

0

76

1

compare 함수 설명에 오해의 소지가 있어보입니다.

0

83

2

API를 비동기 처리하는 이유가 끊겨서 그런건가요?

0

98

2

DOM 트리 보는 곳

0

81

1

배열 메서드가 순수 함수인지 확인하는 방법

0

72

2

콜백 함수의 매개변수로 _를 쓰는 이유가 무엇인가요?

0

71

2

콜백 함수의 매개변수는 어떻게 구분되나요?

0

59

1

호이스팅 안쓰는게 좋나요?

0

54

2

함수 선언식과 함수 표현식은 어떤 경우에 쓰면 좋나요?

0

82

2

?. 연산자는 자바스크립트 연산자인가요?

0

47

1

JS의 논리 연산자 &&, ||가 리액트의 조건부 렌더링 &&, ||인가요?

0

83

2

자바스크립트 질문

1

103

2

동물앨범만들기 1-1 api 오류

0

54

2

CityList개발-handleLoadMore함수질문

0

71

1

객체와 배열의 const 차이

0

46

1

const 객체/배열 차이

0

63

2

header 개발 새로고침 오류

0

67

2

Promise 객체

1

58

2

cityList 렌더가 안되는 문제

0

55

2

init 함수 앞에 await

1

66

2

동물 앨범 만들기 pushtState 관련

0

60

2

동물 앨범 만들기 사진 관련 문의

0

75

2

자바스크립트 첫걸음 교재 질문..

1

81

2