9분 38초쯤에 왜 inputValue 에 빈 문자열이 바로 추가되지 않은건가요? 여기에 대한 설명이 있으면 좋을것같습니다 ..ㅠ
9분 38초쯤에 왜 inputValue 에 빈 문자열이 바로 추가되지 않은건가요?
const inputValue = document.querySelector('#todo-input').value;
이 상태에서
inputValue =''; 이렇게 바로 추가해도될것같은데
안되니까 혼란스럽습니다 ㅠ..
답변 1
5
안녕하세요! 좋은 질문 감사합니다!
이 부분을 이해하기 위해서는 문자열과 객체에 대한 개념을 복기해 주셔야 합니다!
const inputValue = document.querySelector('#todo-input');
console.log( inputValue );위 코드를 실행해서 console.log로 출력되는 데이터는 document "객체"입니다.
객체는 여러개의 property를 가지고, 각 property는 key와 value로 구성되어 있었죠?
아래의 코드를 살펴봅시다.
const inputValue = document.querySelector('#todo-input');
inputValue.value = "";상수 inputValue에 담긴 것은 doucment.querySelector('#todo-input');를 통해 참조된 하나의 객체입니다.
우리는 inputValue에 담긴 객체에서 value라는 key를 가진 property의 값을 수정한 것이죠.
질문해 주신 코드를 다시 살펴보자면,
const inputValue = document.querySelector('#todo-input').value;위 코드는 특정 객체에서 value라는 key를 가진 property에 담긴 값, 그 자체를 참조해, inputValue에 담아주고 있습니다.
문자열 타입 데이터죠.
이때의 inputValue는 결과적으로 객체가 아닌 문자열을 담고 있는 상수가 됩니다.
따라서, 아래와 같은 코드는
const inputValue = document.querySelector('#todo-input').value;
inputValue = "";inputValue라는 상수에 또 다른 데이터를 재할당하는 코드일 뿐인 것이죠.
애초에, 상수를 의미하는 const는 재할당이 불가능한 키워드이기 때문에 에러를 먼저 던지겠지만요!
강의 내용 PPT 제공
0
177
2
openweather 401 오류 지속적으로 발생해요..ㅠ
0
383
3
Geolocationposition 오류
1
524
1
for of, for in 강의에서
0
218
1
선생님 remaining 질문입니다.
0
233
1
ppt 제공
0
327
1
혹시 프론트, 백엔드 코스랑 강의가 겹치나요?
0
535
2
display:flex의 의미
0
431
1
반복문을 활용한 날짜 데이터 리팩토링
0
287
2
JS로 HTML. CSS 조작
0
256
1
조건에 따른 메시지 출력 강의
0
183
1
locallhost
0
477
2
객체 속성 접근시 브라켓 이용(vs. 닷 오퍼레이터)
0
255
1
interval에 대한 질문입니다.
0
279
2
이해가 안되는 부분..
0
403
2
강의 보며 작업한 코드를
0
395
1
제대로 이해한건지 모르겠어요..
0
323
2
강의자료 부탁드립니다.
0
480
1
Uncaught TypeError: Cannot set properties of null (setting 'textContent')
0
5069
1
openweather api 2.5 관련 질문드립니다
0
749
2
openweather 401에러
0
520
1
createTodo함수 안에 매개변수
0
246
1
contents : complete : 가 무슨뜻인가요?
0
258
2
Javascript Exercise 깃허브에 푸쉬
0
353
1





