1050 단어
5 분
JavaScript 02 객체 및 배열

이번에는 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

객체 생성 방법#

객체는 두 가지 방법으로 생성할 수 있습니다.

  1. 객체 리터럴: 가장 일반적인 방법으로 중괄호 {}를 사용하여 객체를 만듭니다.

    let car = {
        brand: "Toyota",
        model: "Camry",
        year: 2021
    };
    
  2. 생성자 함수: 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

배열 생성 방법#

배열을 생성하는 방법은 두 가지입니다.

  1. 배열 리터럴: 대괄호 []를 사용하여 배열을 만듭니다.

    let numbers = [1, 2, 3, 4, 5];
    
  2. Array 생성자: new Array()를 사용하여 배열을 만들 수 있습니다.

    let numbers = new Array(1, 2, 3, 4, 5);
    

3. 객체와 배열의 메서드 (Object & Array Methods)#

JavaScript는 객체와 배열을 다루기 위한 다양한 메서드를 제공합니다. 자주 사용되는 메서드 몇 가지를 살펴보겠습니다.

객체 메서드#

  1. Object.keys(): 객체의 모든 키를 배열로 반환합니다.

    let person = { name: "John", age: 30 };
    console.log(Object.keys(person)); // ["name", "age"]
    
  2. Object.values(): 객체의 모든 값을 배열로 반환합니다.

    console.log(Object.values(person)); // ["John", 30]
    
  3. Object.entries(): 객체의 키-값 쌍을 배열로 반환합니다.

    console.log(Object.entries(person)); // [["name", "John"], ["age", 30]]
    

배열 메서드#

  1. push(): 배열의 끝에 새로운 요소를 추가합니다.

    let fruits = ["Apple", "Banana"];
    fruits.push("Orange");
    console.log(fruits); // ["Apple", "Banana", "Orange"]
    
  2. pop(): 배열의 마지막 요소를 제거합니다.

    fruits.pop();
    console.log(fruits); // ["Apple", "Banana"]
    
  3. map(): 배열의 각 요소에 대해 함수를 적용한 결과로 새 배열을 만듭니다.

    let numbers = [1, 2, 3];
    let doubled = numbers.map(num => num * 2);
    console.log(doubled); // [2, 4, 6]
    
  4. filter(): 조건에 맞는 요소들만으로 이루어진 새 배열을 만듭니다.

    let even = numbers.filter(num => num % 2 === 0);
    console.log(even); // [2]
    
  5. 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로 복잡한 웹 애플리케이션을 구현할 때 매우 유용합니다.