5장: 객체와 배열
JavaScript에서 객체와 배열은 데이터를 구조화하고 저장하는 중요한 도구입니다. 이 장에서는 객체와 배열의 생성과 사용법, 그리고 이들에 대한 주요 메서드들을 알아보겠습니다.
#### 객체 (Object)
객체는 키-값 쌍의 집합으로, 관련된 데이터를 하나의 단위로 묶어 관리할 수 있습니다. 객체를 생성하는 방법에는 여러 가지가 있습니다.
##### 객체 생성과 사용
객체는 중괄호 `{}`를 사용하여 생성할 수 있습니다. 각 키와 값은 콜론 `:`으로 구분되며, 여러 키-값 쌍은 쉼표 `,`로 구분합니다.
let person = {
name: "John",
age: 30,
isEmployed: true
};
객체의 프로퍼티에 접근하려면 점 표기법 또는 대괄호 표기법을 사용할 수 있습니다.
console.log(person.name); // "John"
console.log(person["age"]); // 30
##### 객체 메서드
객체는 함수도 프로퍼티로 가질 수 있으며, 이를 메서드라고 부릅니다.
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, " + this.name);
}
};
person.greet(); // "Hello, John"
#### 배열 (Array)
배열은 순서가 있는 값의 집합으로, 인덱스를 사용하여 접근할 수 있습니다. 배열의 요소는 대괄호 `[]`로 묶습니다.
##### 배열 생성과 사용
배열은 대괄호 `[]`를 사용하여 생성할 수 있습니다.
let numbers = [1, 2, 3, 4, 5];
배열의 요소에 접근하려면 인덱스를 사용합니다. 인덱스는 0부터 시작합니다.
console.log(numbers[0]); // 1
console.log(numbers[4]); // 5
##### 배열 메서드
배열에는 다양한 메서드가 있어 데이터를 쉽게 조작할 수 있습니다.
- `push()`: 배열의 끝에 요소를 추가합니다.
- `pop()`: 배열의 끝에서 요소를 제거합니다.
- `shift()`: 배열의 처음에서 요소를 제거합니다.
- `unshift()`: 배열의 처음에 요소를 추가합니다.
- `forEach()`: 배열의 각 요소에 대해 함수를 실행합니다.
- `map()`: 배열의 각 요소에 함수를 적용한 결과로 새로운 배열을 만듭니다.
- `filter()`: 조건을 만족하는 요소들로 새로운 배열을 만듭니다.
- `reduce()`: 배열의 각 요소에 대해 함수를 실행하여 단일 값을 반환합니다.
예제:
let fruits = ["apple", "banana", "cherry"];
fruits.push("orange");
console.log(fruits); // ["apple", "banana", "cherry", "orange"]
let lastFruit = fruits.pop();
console.log(lastFruit); // "orange"
console.log(fruits); // ["apple", "banana", "cherry"]
fruits.forEach(function(fruit) {
console.log(fruit);
});
// "apple"
// "banana"
// "cherry"
let upperFruits = fruits.map(function(fruit) {
return fruit.toUpperCase();
});
console.log(upperFruits); // ["APPLE", "BANANA", "CHERRY"]
let longFruits = fruits.filter(function(fruit) {
return fruit.length > 5;
});
console.log(longFruits); // ["banana", "cherry"]
#### 중첩 객체와 배열
객체와 배열은 서로 중첩될 수 있습니다. 객체의 프로퍼티 값으로 배열이나 다른 객체를 가질 수 있으며, 배열의 요소로 객체를 가질 수 있습니다.
let company = {
name: "Tech Corp",
employees: [
{ name: "Alice", position: "Developer" },
{ name: "Bob", position: "Designer" }
]
};
console.log(company.employees[0].name); // "Alice"
let matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matrix[1][2]); // 6
#### 객체와 배열의 구조 분해
ES6부터 도입된 구조 분해 할당(destructuring assignment)을 사용하면 객체와 배열의 값을 쉽게 추출할 수 있습니다.
let { name, age } = person;
console.log(name); // "John"
console.log(age); // 30
let [first, second, third] = numbers;
console.log(first); // 1
console.log(second); // 2
console.log(third); // 3
이 장에서는 JavaScript의 객체와 배열에 대해 배웠습니다. 객체는 키-값 쌍으로 데이터를 구조화하며, 배열은 순서가 있는 데이터를 관리합니다. 다음 장에서는 DOM 조작에 대해 알아보겠습니다.
댓글
댓글 쓰기