"
javascript
는 프로그래밍 언어이지만,html
은 프로그래밍 언어가 아니다. "
'프로그램'이란, 시간의 흐름에 따라 순차적으로 어떠한 액션이 수행되는 것이다. 하지만 html
은 그저 웹 사이트를 '묘사'할 뿐이기 때문에, 프로그래밍 언어라고 할 수 없다.
'토글'을 구현해보자.
이를 위해 앞으로 여러 문법들을 학습한다.
(하지만 나는 이미 밑의 것들을 학습한 적이 있기 때문에 패스하였다.)
✔︎ 리팩토링(refactoring)이란?
: 원래 존재하는 코드를 더욱 효율적으로 작성하기 위해 반복을 줄이고, 코드를 개선하는 것
위의 코드에서,
if(document.querySelector(#night_day2).value === 'night')
'value' 전 까지의 부분은, onclick 이벤트가 속해 있는 자기 자신을 가리키고 있다.
이와 같은 경우에는, this
로 대치시킬 수 있다.
if(this.value === 'night)
this
를 사용하면, 이렇게 id
도 불필요해져 없앨 수 있다.
또한 위의 코드에서 document.querySelector('body')
부분이 반복되어 등장하고 있기 때문에, 하나의 공통 변수를 설정해 반복을 줄이면 좋다.
이렇게 var target = document.querySelector('body');
를 선언해 target
변수 하나로 한 번에 모든 코드를 수정할 수 있는 장점도 얻을 수 있다.
가장 중요한 것은, 불필요한 반복을 줄이는 것!
(여기부터 스킵하겠다.)