이번에는 JavaScript에서 자주 사용되는 **객체(Objects)**와 **배열(Arrays)**에 대해 알아보겠습니다. 두 개념은 JavaScript 프로그래밍에서 매우 중요한 역할을 하며, 데이터를 구조화하고 관리하는 데 널리 사용됩니다. 이 글에서는 객체와 배열의 기본 개념부터, 자주 사용되는 메서드 및 JSON에 대한 설명까지 다루겠습니다.
1. 객체 (Objects)
객체
객체는 키-값 쌍으로 데이터를 저장하는 JavaScript의 데이터 구조입니다. 키는 문자열 또는 Symbol 타입이 될 수 있고, 값은 어떤 데이터 타입이든 가능합니다. 객체를 사용하면 여러 개의 값을 논리적으로 묶어 하나의 데이터 단위로 다룰 수 있습니다.
let person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, " + this.name);
}
};
console.log(person.name); // John
person.greet(); // Hello, John
객체 생성 방법
객체는 두 가지 방법으로 생성할 수 있습니다.
객체 리터럴: 가장 일반적인 방법으로 중괄호
{}를 사용하여 객체를 만듭니다.let car = { brand: "Toyota", model: "Camry", year: 2021 };생성자 함수:
new Object()를 사용하여 생성할 수도 있습니다.let car = new Object(); car.brand = "Toyota"; car.model = "Camry";
2. 배열 (Arrays)
배열
배열은 순서가 있는 데이터 집합으로, 여러 개의 데이터를 하나의 변수에 저장할 수 있는 자료구조입니다. 배열의 각 요소는 인덱스를 통해 접근할 수 있으며, 인덱스는 0부터 시작합니다.
let fruits = ["Apple", "Banana", "Cherry"];
console.log(fruits[0]); // Apple
배열 생성 방법
배열을 생성하는 방법은 두 가지입니다.
배열 리터럴: 대괄호
[]를 사용하여 배열을 만듭니다.let numbers = [1, 2, 3, 4, 5];Array생성자:new Array()를 사용하여 배열을 만들 수 있습니다.let numbers = new Array(1, 2, 3, 4, 5);
3. 객체와 배열의 메서드 (Object & Array Methods)
JavaScript는 객체와 배열을 다루기 위한 다양한 메서드를 제공합니다. 자주 사용되는 메서드 몇 가지를 살펴보겠습니다.
객체 메서드
Object.keys(): 객체의 모든 키를 배열로 반환합니다.let person = { name: "John", age: 30 }; console.log(Object.keys(person)); // ["name", "age"]Object.values(): 객체의 모든 값을 배열로 반환합니다.console.log(Object.values(person)); // ["John", 30]Object.entries(): 객체의 키-값 쌍을 배열로 반환합니다.console.log(Object.entries(person)); // [["name", "John"], ["age", 30]]
배열 메서드
push(): 배열의 끝에 새로운 요소를 추가합니다.let fruits = ["Apple", "Banana"]; fruits.push("Orange"); console.log(fruits); // ["Apple", "Banana", "Orange"]pop(): 배열의 마지막 요소를 제거합니다.fruits.pop(); console.log(fruits); // ["Apple", "Banana"]map(): 배열의 각 요소에 대해 함수를 적용한 결과로 새 배열을 만듭니다.let numbers = [1, 2, 3]; let doubled = numbers.map(num => num * 2); console.log(doubled); // [2, 4, 6]filter(): 조건에 맞는 요소들만으로 이루어진 새 배열을 만듭니다.let even = numbers.filter(num => num % 2 === 0); console.log(even); // [2]reduce(): 배열을 하나의 값으로 축소합니다.let sum = numbers.reduce((acc, curr) => acc + curr, 0); console.log(sum); // 6
4. JSON (JavaScript Object Notation)
JSON이란?
JSON은 데이터를 저장하고 전송하기 위한 경량 데이터 형식입니다. 주로 서버와 클라이언트 간 데이터를 주고받을 때 사용됩니다. JSON은 JavaScript의 객체 표기법을 기반으로 하지만, 많은 프로그래밍 언어에서 지원됩니다.
{
"name": "John",
"age": 30,
"isStudent": false
}
JSON 사용 방법
JavaScript에서 JSON을 다루기 위한 두 가지 주요 메서드는 **JSON.stringify()**와 **JSON.parse()**입니다.
JSON.stringify(): 객체를 JSON 문자열로 변환합니다.let person = { name: "John", age: 30 }; let jsonString = JSON.stringify(person); console.log(jsonString); // '{"name":"John","age":30}'JSON.parse(): JSON 문자열을 객체로 변환합니다.let jsonString = '{"name":"John","age":30}'; let person = JSON.parse(jsonString); console.log(person.name); // John
다음 편에서는 JavaScript의 함수 심화에 대해 자세히 알아보겠습니다. 객체와 배열을 잘 이해하면, 데이터 구조를 보다 유연하게 다룰 수 있으며, JavaScript로 복잡한 웹 애플리케이션을 구현할 때 매우 유용합니다.
