장점 : if문보다 조금 더 깔끔해보인다.
단점 : if문보다 수직으로 조금 더 길어진다.
switch문은 break가 필수이다.
switch문과 if문은 비슷하지만,
특정한 데이터가 정확하게 무엇인가?로 딱 떨어지는 그런 조건문은 if문 보다 switch가 더 효율적이다.
switch (a) {
case 0:
console.log('a is 0')
break
case 2:
console.log('a is 2')
break
case 4:
console.log('a is 4')
break
default:
console.log('rest...')
}
if (a === 0){
console.log('a is 0')
} else if(a === 2){
console.log('a is 2')
} else if(a === 4){
console.log('a is 4')
} else {
console.log('rest...')
}
const ulEl = document.querySelector('ul')
console.log(ulEl)
for(let i=0; i<10; i++){
const li =document.createElement('li')
li.textContent = `list-${i+1}`
if(i + 1 % 2 === 0){
li.addEventListener('click',function(){
console.log(li.textContent)
})
}
ulEl.appendChild(li)
}
var, let, const
var = 함수레벨의 유효범위 (함수범위안에서는 어디서든 사용가능)
let, const = 블록({}사이)레벨의 유효범위 ( 스코프 안에서만 사용가능)
Truthy(참 같은 값)
//true, {}, [], 1, 2, 'false', -12, '3.14' .....
Falsy(거짓 같은 값)
// false, '', null, undefined, 0, -0, NaN
Falsy값은 이렇게가 전부이고 이것들을 제외한 거의 모든 값은 Truthy값이라 Falsy값 외우면 된다.
NaN은 숫다 데이터에 산술연산자를 통해서 어떤 값을 도출했는데 그 값이 숫자로 판단할 수 없는 값을 지칭 Not a Number