ES6 문법 - 1
- 구조분해할당 ( destructuring )
배열이나, 객체의 속성 을 분해해서 변수에 담을 수 있게해주는 문법
배열인 경우
let [value1, value2] = ["박재민", "24살"]
console.log(value1)
console.log(value2)
객체인 경우
let {name, age} = {
age: 24,
name: "Jaemin"
}
console.log(name)
console.log(age)
새로운 이름으로 할당
let user = {
name: "Jaemin",
age: 24
}
let { name: newName, age: newAge } = user
console.log(newName)
console.log(newAge)
- 단축 속성명
value 에는 변수도 올 수 있는데 이때, key 와 value (변수) 가 같을 경우 생략 가능하다.
const object = { name, age }
const name = "Jaemin"
const newAge = "24"
const object = {
name : name,
age : newAge
}
const object = { name, age : newAge }
- 전개 구문 (spread)
기존 구조를 벗어나서 새로운 구조를 덧입힐 때 사용한다.
let arr = [1, 2, 3]
console.log(arr)
console.log(...arr)
let newArr = [...arr, 4]
console.log(arr)
console.log(newArr)
- 나머지 매개변수
spread 형식
function exampleFunc (a, b, c, ...args) {
console.log(a, b, c)
console.log(...args)
}
exampleFunc(1, 2, 3, 4, 5, 6, 7)
args 만 출력
function exampleFunc (a, b, c, ...args) {
console.log(a, b, c)
console.log(args)
}
exampleFunc(1, 2, 3, 4, 5, 6, 7)
- 템플릿 리터럴
백틱 ( `` ) 을 사용하고 멀티라인 을 지원한다.
console.log("I am 24 years old.")
console.log(`I am ${12 + 12} years old`)
const age = "I am 24 years old."
console.log(`My name is Jaemin and ${age}`)
멀티라인
console.log(`
Hi
My name is Jaemin!
nice to meet you
2024.01.02 `)