if문
- if(...)문은 괄호 안에 들어가는 조건을 평가하는데, 그 결과가 true이면 코드 블록이 실행됩니다.
- if (…) 문은 괄호 안의 표현식을 평가하고 그 결과를 불린값으로 변환합니다.
- 숫자 0, 빈 문자열"", null, undefined, NaN은 불린형으로 변환 시 모두 false가 됩니다. 이런 값들은 ‘falsy(거짓 같은)’ 값이라고 부릅니다.
- 이 외의 값은 불린형으로 변환시 true가 되므로 ‘truthy(참 같은)’ 값이라고 부릅니다.
- if문엔 else절을 붙일 수 있습니다. else뒤에 이어지는 코드 블록은 조건이 거짓일 때 실행됩니다.
- 유사하지만 약간씩 차이가 있는 조건 여러 개를 처리해야 할 때가 있습니다. 이때 else if를 사용할 수 있습니다.
조건부 연산자 ‘?’
- 조건에 따라 다른 값을 변수에 할당해줘야 할 때가 있습니다.
- 자바스크립트 삼항 연산자는 참/거짓에 따라 선택적으로 실행되는 조건문이다.삼항연산자는 조건문 ? 선택문1:선택문2 로 구성된다. 조건문이 참이면 선택문1을 실행하고, 조건문이 거짓이면 선택문 2를 실행한다.
- 자바스크립트 삼항 연산자 기능은 세개 항으로 연산을 처리한다.
- 세 개의 항은 각각 조건문 하나와 선택문 두 개로 구성된다.
- 삼항 연산자는 조건문이 True일때 선택문1을 실행한다.
- 조건문이 false일 때 선택문2를 실행한다.
var x = 100, y = 10;
var z = x > y ? "x가 y보다 더 크다." : "x가 y보다 더 작다.";
console.log(z);
var x = 10, y = 50;
var z = x < y ? x <= y : x == y;
console.lod(z);
다중 ‘?’
let age = prompt('나이를 입력해주세요.', 18);
let message = (age < 3) ? '아기야 안녕?' :
(age < 18) ? '안녕!' :
(age < 100) ? '환영합니다!' :
'나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
alert( message );
- 첫 번째 물음표에선 조건문 age < 3을 검사합니다.
- 그 결과가 참이면 '아기야 안녕?'를 반환합니다. 그렇지 않다면 첫 번째 콜론 ":"에 이어지는 조건문 age < 18을 검사합니다.
- 그 결과가 참이면 '안녕!'를 반환합니다. 그렇지 않다면 다음 콜론 ":"에 이어지는 조건문 age < 100을 검사합니다.
- 그 결과가 참이면 '환영합니다!'를 반환합니다. 그렇지 않다면 마지막 콜론 ":" 이후의 표현식인 '나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!'를 반환합니다.