- [JS] 객체와 배열의 차이2024년 08월 20일
- KIMJAVAN
- 작성자
- 2024.08.20.:14
728x90자바스크립트에서 객체(Object)와 배열(Array)는 둘 다 데이터 구조를 저장하는 방법이지만, 구조와 사용 목적이 다릅니다. 주요 차이점을 아래와 같이 설명할 수 있습니다.
1. 구조
객체(Object): 키(key)-값(value) 쌍으로 이루어진 데이터 구조입니다. 키는 문자열 또는 심볼일 수 있으며, 각각의 키는 고유해야 합니다. 객체는 특정 속성이나 메서드를 가진 엔터티(entity)를 표현할 때 유용합니다.
const person = { name: "John", age: 30, job: "Developer" };
배열(Array): 인덱스(index)를 사용하여 순서대로 데이터를 저장하는 리스트 형태의 구조입니다. 인덱스는 0부터 시작하는 숫자입니다. 배열은 순서가 있는 데이터 목록을 저장할 때 유용합니다.
const numbers = [10, 20, 30, 40, 50];
2. 사용 목적
- 객체(Object): 속성 이름으로 데이터를 접근할 때 사용됩니다. 데이터가 특정 키와 연관되어 있는 경우 객체가 적합합니다.
console.log(person.name); // "John"
- 배열(Array): 인덱스를 통해 데이터를 순차적으로 접근할 때 사용됩니다. 목록이나 순차적인 데이터가 필요한 경우 배열이 적합합니다.
console.log(numbers[0]); // 10
3. 메서드와 속성
- 객체(Object): Object.keys(), Object.values(), Object.entries() 같은 메서드를 사용하여 키나 값을 다룰 수 있습니다.
- 배열(Array): push(), pop(), shift(), map(), filter(), reduce() 등 배열 전용 메서드를 사용하여 데이터를 조작할 수 있습니다.
4. 키와 인덱스
- 객체(Object): 키는 문자열 또는 심볼입니다. 객체의 속성에 접근하려면 해당 속성의 이름을 알아야 합니다.
const person = { name: "Alice", age: 25 }; console.log(person["name"]); // "Alice"
- 배열(Array): 배열의 요소는 숫자 인덱스를 통해 접근합니다.
const colors = ["red", "green", "blue"]; console.log(colors[1]); // "green"
5. 성능
- 객체(Object): 일반적으로 객체의 속성 접근은 상수 시간(O(1))이 소요됩니다.
- 배열(Array): 인덱스를 통한 요소 접근도 상수 시간(O(1))이지만, 배열의 크기 조정이나 중간에 요소 삽입/삭제와 같은 작업은 더 많은 시간이 소요될 수 있습니다.
요약
- 객체는 속성명(키)으로 데이터에 접근할 때 사용하며, 특정 엔터티를 표현하는 데 적합합니다.
- 배열은 순차적으로 나열된 데이터 목록을 저장하고, 인덱스를 통해 데이터에 접근할 때 사용됩니다.
두 구조 모두 자바스크립트에서 자주 사용되며, 특정 상황에 적합한 데이터를 저장하고 처리하는 방법을 선택하는 것이 중요합니다.
'자바스크립트 > JavaScript' 카테고리의 다른 글
[JS] 알고리즘 - 초급 (0) 2024.12.19 [JS] ?. (옵셔널 체이닝 연산자) (0) 2024.08.26 [JS] 공부기록 2024-08-20 (0) 2024.08.20 [JS] 생성과 반환의 차이 (0) 2024.08.19 [JS] 생성자함수 new 와 create 차이 (0) 2024.08.19 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)