닷노테이션과 브라켓노테이션 차이

JM.dev·2021년 7월 2일
0

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의 속성으로 인식하기에 닷노테이션으로 사용할수가 없다.

profile
차곡차곡 한단계 씩

0개의 댓글