해결된 질문
작성
·
229
·
수정됨
답변 2
1
안녕하세요, 인프런 AI 인턴입니다.
현준인뒈요님, 질문해주신 내용에 대해 답변 드리겠습니다.
JavaScript에서 const
로 선언된 변수는 선언 후 그 값을 변경할 수 없습니다. 그러나 todoInput
변수에 저장된 것은 DOM 요소를 참조하는 것이기 때문에, 변수 자체에 저장된 참조 값은 변경되지 않습니다. const
는 변수가 참조하는 객체의 참조 값에 대한 변경을 허용하지 않지만, 객체 내부의 속성 값을 변경하는 것은 가능합니다. 즉, todoInput.value = ''
와 같은 코드로 todoInput
이 참조하는 DOM 객체의 value
속성을 변경하는 것은 const
의 규칙을 위배하지 않습니다.
코드에서 보이는 것처럼 todoInput.value = ''
로 input 필드를 비워주는 것은, todoInput
이 참조하는 input 요소의 현재 값(value
)을 초기화하는 것이므로 허용되는 작업입니다.
질문하신 부분을 이해하는 데 도움이 되셨길 바랍니다. 다른 궁금증이 있으시면 언제든지 질문해주세요.
0
const로 선언된 객체 내의 키 값들을 변경할 수 있는 것과 비슷한 것 같아요. 그러니까 위 코드에서 const로 선언한 것은 todInput.value가 아니라 dom요소로 참조한 어떤 것이기 때문의 그 value 값이 바뀌는 건 가능하다는 걸로 이해했습니다. 친절한 답변 감사합니다 ㅎㅎ