value가 true 나 false인 불린 값은 아니지만 JS에서 알아서 t/f 로 변환하는걸 falsy와 truthy 라고 함
0 -> false
0이 아닌 모든 숫자(음수포함) -> true
빈 string -> false
비어있지 않은 모든 문자열 -> true
모든 객체(빈 객체 포함) -> true
null, undefined, NaN -> false
truty / falsy 를 실제 불린값으로 변환하는 Tip
앞에 !!를 붙이면 됨.
ex) 1은 truthy 지만 !!1은 true 가 됨.
const userInput = ‘ ‘ // 사용자가 userInput에 공란을 제출했다고 가정
const isValidInput = !!userInput
isValidInput // false(공란이어서 falsy 였던것이 !!에 의해 false로 변환)
(userInput이 공란인 상황에서)
const userName = userInput || ‘Max’
userName // “Max” -> userInput 이 공란이었기 때문에 Max를 이름으로 설정함
const isLoggedIn = true
const shoppingCart = isLoggedIn && [‘Books’]
shoppingCart // [‘Books’] -> 두번째 값을 반환한것.
isLoggedIn = false
isLoggedIn && [‘Books’] // false -> 첫번째 값이 반환됨(첫번째가 false였으니까)
'~~~'다음에 js 코드를 적으면 죄다 흑백으로 나와서 볼때마다 눈물이 나왔는데, 이제 드디어 js 코드도 알록달록하게 출력되게 하는 방법을 훌륭한 개발자 친구의 도움으로 알게 되었다.
물결 다음에 js 라고 적어주면 된다.
---
으로 가로 구분선을 그을 수 있다는 것을 발견. 이제 이걸 이용해서 [Follow up] 을 구분하면 보다 가독성을 높일 수 있다 :)