update: async (req, res) => {
//TODO:
let data = flights.filter((flight)=>{
return flight.uuid === req.params.id
})[0]
console.log(data)
for(let key in req.body){ //여기를 중점적으로 보자
data[key] = req.body[key]
}
return res.json(data);
}
위의 코드에서 브라켓노테이션을 사용한 data[key] = req.body[key]에 대해 설명을 하려고 합니다.
for(let key in req.body){
data[key] = req.body[key] //dat.key = req.body.key 이렇게 써도되나?
}
나는 req.body라는 객체를 key라는 변수로 data의 키속성들중 req.body의 값으로 재 할당할려고 한다.
그렇다면 dat.key = req.body.key 로 사용하는것은 안되는 이유가 궁금했습니다.
obj.key 형태로 쓰려면 key는 변수가 아니라 정확한 프로퍼티 이름이어야 한다. (ex. obj.name)
→위에서는 key를 변수로 사용하기에 data.key로 사용한다면 key는 변수가 아니라 data의 속성으로 인식하기에 닷노테이션으로 사용할수가 없다.