condition ? exprIfTrue : exprIfFalse
조건이 참이면 거짓이면 이것을 표현해줘.
condition (조건문)
조건문으로 들어갈 표현식
exprIfTrue (참일 때 실행할 식)
condition이 Truthy일 때 실행되는 표현식입니다. (true일 때 치환될 값입니다).
exprIfFalse (거짓일 때 실행할 식)
condition이 falsy일 때 실행되는 표현식입니다. (false일 때 치환될 값입니다).
false외에도 nul,NaN, 0, 비어있는 문자 값 (""), 그리고 undefined으로 조건문에 false 값으로 사용 가능 합니다. 이 값들이 조건문으로 사용된다면 exprIfFalse이 결과로 나오게 됩니다.
&&||!let isOnSale = true
let isDiscountItem = true
console.log(isOnSale && isDiscountItem) // true && true 이므로 true
console.log(isOnSale || isDiscountItem) // true || true 이므로 true
isOnSale = false
console.log(isOnSale && isDiscountItem) // false && true 이므로 false
console.log(isOnSale || isDiscountItem) // false || true 이므로 true
isDiscountItem = false
console.log(isOnSale && isDiscountItem) // false && false 이므로 false
console.log(isOnSale || isDiscountItem) // false || false 이므로 false
console.log(!isOnSale) // !false 이므로 true
const gender = 'F';
const name = 'jane';
const isAdult = true;
if(gender === 'M' && name === 'Mike' || isAdult){
console.log('통과')
} else {
console.log("돌아가")
}
//통과
//&&(and)는 ||(or)보다 우선이 된다. 즉, 마지막 부분의 조건 값이 true면 true가 나오는 것이다.
//맞는 코드
if(gender === 'M' && (name === 'Mike' || isAdult)){
console.log('통과')
} else {
console.log("돌아가")
}
//뒤에를 ()로 묶어줌으로써 genter가 'M'이고 이름이 Mike이거나 성인 이면 통과! 라는 식이 완성되는 것이다.