인프런 커뮤니티 질문&답변
let으로 구조분해할당을 했을 때 궁금한 점이 생겼습니다!
작성
·
186
0
else if (input === '3') { // 도망
let { monster } = this;
monster = null;
this.updateMonsterStat();
this.changeScreen('game');
this.showMessage(`무사히 ${this.monster.name}에게서 도망쳤습니다!`);
}
위와 같은 코드에서 this.updateMonsterStat()을 하면 텍스트를 지워주지 않는 것인지 궁금합니다!
배틀 부분에서 도망을 구현하고 있었습니다. 근데 습관적으로 구조분해할당을 const로 하고 monster를 null로 바꾸려고 하니 오류가 발생했습니다. 그래서 아무 생각 없이 let으로 구조분해할당을 했습니다. 그런데 여기서 monster = null을 한뒤 this.updateMonsterStat()을 했을 때 당연히 맨 아래 몬스터에 관련된 텍스트가 지워질 줄 알았는데, 지워지지 않았습니다. 그래서 monster.hp -= 10을 해봤더니 이거는 또 동작을 해서 혼란스럽습니다... 이 부분은 어떠한 문제가 있는 건가요??
답변 1
0
제로초(조현영)
지식공유자
원형을 생각하세요.
let monster = this.monster입니다.
monster = null 해봤자 this.monster는 그대로입니다.
this.monster = null 해야 합니다.






답변 감사합니다!
그런데