객체
객체 선언시, key값을 따로 주지 않아도 변수들을 객체화 하게 되면 변수의 이름이 자동으로 key값으로 설정되어 출력된다.
let name = "jinbok"
let age = 29
let person = {name, age] // {name : 'jinbok' , age : 29}
만약, 다른 key값을 주기 위해서는 이전의 문법을 써야한다
let person = {nameValue:name , ageValue:age] // {nameValue : 'jinbok', ageValue : 29]
객체를 분해하는 방법
let jinbok = {
name: "jinbok",
age: 29
}
------------------------------------------------
a. 과거 방식 (1번의 경우처럼 각각의 keyValue를 사용하고 싶을때는, 이 방식을 사용해야 한다)
let name = jinbok.name
let age = jinbok.age
console.log(name,num) // { jinbok 29 }
------------------------------------------------
b. 새로운 방식. 변수를 객체로 묶을 수 있다.
let {name, age} = jinbok
console.log(name,num) // {jinbok 29}
dynamic value 표현이 가능하다.
let name = "jinbok"
let age = 29
------------------------------------------------
a. 과거 방식
console.log("제 이름은"+name+"입니다 제 나이는"+age+"입니다")
------------------------------------------------
b. 새로운 방식
console.log(`제 이름은 ${name}입니다 제 나이는 ${age}입니다`)
배열
a. 과거 방식
let array = [1,2,3]
let a = array[0]
let b = array[1]
let c = array[2]
console.log(a,b,c) // 1 2 3
------------------------------------------------
b. 새로운 방식. 변수에 각 array의 index를 매칭시킬 수 있다.
let array = [1,2,3]
let [a,b,c] = array
console.log(a,b,c) // 1 2 3
------------------------------------------------
c. 새로운 방식. 원하는 index와 나머지 index들을 구분하여 출력할 수 있다.
...은 배열의 값을 복사해오는 것이라고 기억해둘 것.
let array = [1,2,3]
let [a,...rest] = array
console.log(a) // 1
console.log(rest) // 2 3
c+. 객체에서도 활용할 수 있다.
let person = {
name:"jinbok",
age:29,
studying:true
}
let {name,...restInfo} = person
console.log(name, restInfo) // jinbok { age : 29, studying : true}