if
<if>() {} else {}
이용하여 특정 상황에 따른 조건을 출력
Comparison Operator(비교연산자)와 Boolean
===
비교연산자(===)의 경우 좌항과 우항을 비교하여 같다면 true, 다르면 false를 출력
Boolean의 경우 true, false를 지칭
조건문 활용
<input id="night_day" type="button" value="night" onclick="
if (document.querySelector('#night_day').value === 'night') {
document.querySelector('body').style.backgroundColor='black';
document.querySelector('body').style.color='white';
document.querySelector('#night_day').value = 'day' ;
} else {
document.querySelector('body').style.backgroundColor='white';
document.querySelector('body').style.color='black';
document.querySelector('#night_day').value = 'night' ;
}
">
(클릭에 따른 방법 적용)
리팩토링
중복된 코드를 낮추고 불필요한 코드를 제거하여 효율성을 높이는 작업
→ 유지보수에 용이
리팩토링 예시
위 코드에서 자기자신을 지칭하는 <input>을 this로 지칭하고,
중복되는 값을 var target 으로 지정하여 리팩토링이 가능하다
<input id="night_day2" type="button" value="night" onclick="
var target = document.querySelector('body');
if (this.value === 'night') {
target.style.backgroundColor='black';
target.style.color='white';
this.value = 'day' ;
} else {
target.style.backgroundColor='white';
target.style.color='black';
this.value = 'night' ;
}
">
<input id="night_day2" type="button" value="night" onclick="
var target = document.querySelector('body');
if (this.value === 'night') {
target.style.backgroundColor='black';
target.style.color='white';
this.value = 'day' ;
} else {
target.style.backgroundColor='white';
target.style.color='black';
this.value = 'night' ;
}
">