JavaScript에서 디스트럭처링

발행: (2026년 4월 4일 오후 02:46 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

🧠 What Is Destructuring?

배열이나 객체에서 별개의 변수로 값을 한 번에 꺼내는 것.

🔹 Destructuring Arrays

Before

const numbers = [10, 20, 30];
const first = numbers[0];
const second = numbers[1];

After

const [first, second, third] = [10, 20, 30];
console.log(first);  // 10
console.log(second); // 20
console.log(third);  // 30

✅ Notes

  • 배열에서는 순서가 중요합니다.
  • 쉼표를 사용해 항목을 건너뛸 수 있습니다:
const [, , third] = [10, 20, 30];
console.log(third); // 30

🔹 Destructuring Objects

Before

const person = { name: "Rahul", age: 22, city: "Delhi" };
const name = person.name;
const age = person.age;

After

const { name, age } = { name: "Rahul", age: 22, city: "Delhi" };
console.log(name); // Rahul
console.log(age);  // 22
  • 순서는 중요하지 않습니다.
  • 변수 이름은 속성 이름과 일치해야 하며(또는 이름을 바꿀 수 있습니다).
// Renaming
const { name: userName } = { name: "Rahul" };
console.log(userName); // Rahul

🔹 Default Values

속성이 없을 수도 있을 때 기본값을 제공할 수 있습니다:

const { name, city = "Unknown" } = { name: "Rahul" };
console.log(city); // Unknown

Nested Destructuring

const user = { name: "Rahul", address: { city: "Delhi" } };
const { name, address: { city } } = user;
console.log(name); // Rahul
console.log(city); // Delhi

⚡ Benefits of Destructuring

  • 중복 코드를 줄여줍니다
  • 코드가 더 깔끔하고 가독성이 높아집니다
  • 중첩된 데이터를 쉽게 추출할 수 있습니다
  • 함수 매개변수와 잘 어울립니다

🔹 Destructuring in Function Parameters

function greet({ name, city = "Unknown" }) {
  console.log(`Hello ${name} from ${city}`);
}

greet({ name: "Rahul" });
// Hello Rahul from Unknown

Before

function greet(person) {
  const name = person.name;
  const city = person.city || "Unknown";
  console.log(`Hello ${name} from ${city}`);
}

After

function greet({ name, city = "Unknown" }) {
  console.log(`Hello ${name} from ${city}`);
}

✅ 더 깔끔하고 짧으며 읽기 쉽습니다.


  • 디스트럭처링은 배열이나 객체에서 값을 추출합니다.
  • 배열 → 순서가 중요합니다.
  • 객체 → 변수 이름은 키와 일치해야 하며(또는 이름을 바꿀 수 있습니다).
  • 기본값과 중첩 구조를 지원합니다.
  • 코드를 더 깔끔하게 만들고 함수 매개변수에 이상적입니다.
0 조회
Back to Blog

관련 글

더 보기 »

동기 vs 비동기 JavaScript

JavaScript는 single‑threaded이지만, synchronous와 asynchronous 동작을 사용하여 여러 작업을 효율적으로 처리할 수 있습니다. What Is Synchronous Code? Synchronous…

JavaScript에서 오류 처리: Try, Catch, Finally

코드가 아무리 좋아도 오류는 피할 수 없습니다. 중요한 것은 오류를 어떻게 처리하느냐입니다. JavaScript는 try, catch, finally와 같은 강력한 도구를 제공합니다...

JavaScript에서 함수 이해하기

함수란 무엇인가? 함수는 특정 작업을 수행하도록 설계된 코드 블록이다. 같은 코드를 반복해서 작성하는 대신, 한 번만 코드 블록 안에 작성하면 된다.