Template Literals
문자열을 다루기 쉽게 만든 문법
사용법: 백틱(``)과 ${ }const name = "철수"; const greeting = `안녕하세요, ${name}님!`;
Destructuring(구조분해할당)
객체나 배열의 값을 쉽게 꺼내오는 문법
사용법: { } 객체, [ ] 배열const person = { name: "철수", age: 25 }; const { name, age } = person; // 철수, 25
Spread/Rest Operator(연산자)
Spread: 배열이나 객체를 복사하거나 합칠 때 사용
사용법: ...을 붙이면 됨//Spread const arr1 = [1, 2, 3]; const arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5]Rest: 함수나 배열/객체에서 나머지 값을 모을 때 사용
//Rest const { name, ...rest } = { name: "철수", age: 25, city: "서울" }; console.log(rest); // { age: 25, city: "서울" }
//1.기본 예제
const person = { name: 'Alice', age: 25 };
// 객체의 값을 변수에 할당
const { name, age } = person;
console.log(name); // 'Alice'
console.log(age); // 25
//2.키 이름 변경하기 (변수 이름 바꾸기)
//키 이름과 다른 변수명으로 값을 추출
const person = { name: 'Alice', age: 25 };
const { name: userName, age: userAge } = person;
console.log(userName); // 'Alice'
console.log(userAge); // 25
//3.기본값 설정하기
//객체에 키가 없으면 기본값을 설정
const person = { name: 'Alice' };
const { name, age = 30 } = person;
console.log(name); // 'Alice'
console.log(age); // 30 (기본값)
추가로, 객체에서 title과 year를 디스트럭처링을 사용하여 추출하고 출력하는 코드를 작성
중첩으로 되어있는 객체는 key: {value}로 분해.
const movie = {
title: "Inception",
director: "Christopher Nolan",
release: {
year: 2010,
month: "July"
}
};
//답
const { title, release: { year } } = movie;
console.log(title); // Inception
console.log(year); // 2010
let colors = ["red", "green", "blue"];
let [firstColor, secondColor] = colors;
console.log(firstColor); // red
console.log(secondColor); // green
[ , , ]로 분해.const numbers = [10, 20, 30, 40, 50];
//답
const [first, , third] = numbers;
console.log(first); // 10
console.log(third); // 30
date: firstDate를 집중해서 보기.function confirmReservation(user) {
// 여기에 user 객체를 구조 분해 할당 하세요.
return `${name} 고객님의 ${roomType}룸 입실날짜는 ${firstDate} 입니다.`
}
const userInfo = {
name: "James",
roomType: "Deluxe",
date: "2023-05-30"
}
const result = confirmReservation(userInfo);
console.log(result);
//답
function confirmReservation(user) {
// 여기에 user 객체를 구조 분해 할당 하세요.
const {name, roomType, date: firstDate} = user;
return `${name} 고객님의 ${roomType}룸 입실날짜는 ${firstDate} 입니다.`
}
const userInfo = {
name: "James",
roomType: "Deluxe",
date: "2023-05-30"
}
const result = confirmReservation(userInfo);
console.log(result); // 출력 결과: 'James 고객님의 Deluxe룸 입실날짜는 2023-05-30 입니다.'
const originalUser = { name: "번개", age: 12 };
const updatedUser = { ...originalUser, location: "한국" };
console.log(updatedUser); // { name: "번개", age: 12, location: "한국" }
const first = [1, 2, 3];
const second = [4, 5, 6];
const combined = [...first, ...second];
console.log(combined); // [1, 2, 3, 4, 5, 6]
✔︎ spread operator객체의 순서는 후순위로 덮어쓰게 된다.
...을 사용해서 나머지 요소를 배열로 가짐.
//예시(1)
const numbers = [1, 2, 3, 4, 5];
const [first, second, ...rest] = numbers;
console.log(first); // 1
console.log(second); // 2
console.log(rest); // [3, 4, 5]
//예시(2)
const person = { name: 'Kyu', age: 25, job: 'developer' };
const { name, ...rest } = person;
console.log(name); // 'Kyu'
console.log(rest); // { age: 25, job: 'developer' }