뜸했다. 읽은 내용들을 블로그에 정리해가며 공부하려 하니 전체 내용을 정리하려 들어서 시간이 너무 오래걸려 내용을 읽으면서 모르는 부분들만 노트에 정리 그 정리 내용을 다시 옮기는 방식으로 학습 방법을 바꿨다.
그동안은 노트에 내용을 적을 시간이 안 돼 일단 내용을 쭉 읽었다.
지금 보면서 몰랐던 내용은 나중에 볼 때도 모를 가능성이 크기 때문에 이렇게 정리를 해둔다.
if와 '?'를 사용한 조건 처리: https://ko.javascript.info/ifelse
if(...)문은 괄호 안의 값을 boolean 형으로 변환한다.
이때 숫자 0, 빈 문자열 "", null, undefined, NaN 은 Boolean 형으로 변환 시 false가 된다.
이런 값을 '거짓 같은 값', falsy 라고 한다.
다른 true 가 되는 값들은 '참 같은 값'. truthy 라고 한다.
피연산자가 세 개이기 때문에 '삼항연산자(ternary)' 라고 부르기도 한다. 자바스크립트에서 피연산자를 3개나 받는 연산자는 조건부 연산자가 유일하다.
물음표 연산자는 우선순위가 낮아서 다른 연산들을 마친뒤 연산된다.
따라서 굳이 다른 연산들을 괄호로 감쌀 필요는 없지만 가독성에는 괄호로 감싸는 것이 좋다.
조건부 연산자는 조건에 따라 반환 값을 달리하려는 것이 그 목적이다. if문을 쓰는 대신 조건부 연산자를 사용하는 경우가 있는데 if문은 여러 분기를 만들 때 사용한다.
두 문법을 각각 목적에 맞게 사용해야 한다.