노쉬발 킵고잉/Javascript
조건부 연산자 || 삼항 연산자
테스p
2022. 12. 19. 13:33
기본형식
조건식 ? 참일때 실행되는 식 : 거짓일때 실행되는 식
3덩어리 파악하면 쉬웁니다..^^
그래서 벨류에 넣을 수 ㅇ있음
let val = 5 < 0 ? 'ture' : 'false';
console.log(val);
//flase
if문으로 바꾸면?
let val = 5 < 0 ? 'ture' : 'false';
console.log(val);
//flase
if(5<0){
console.log('true');
}else{
console.log('false');
}
switch(5<0){
case true:
console.log('true');
break;
case false:
console.log('false');
break;
}
가독성이 좋게 만들면 좋음
그리고 조건부 연산도 중첩해서 사용ㄷ가능
let c1 = true;
let c2 = false;
let val = c1 ? c2 ? '둘 다 참' : 'c1만 참' : 'c1이 거짓';
console.log(val);
//c1만 참
1. 물음표를 먼저 찾는다. 두개면 '중첩문이구나'
2. 그래서
let val = c1 ? c2 ? '둘 다 참' : 'c1만 참' : 'c1이 거짓';
내부에 있는 조건부 연산자.
let val = c1 ? c2 ? '둘 다 참' : 'c1만 참' : 'c1이 거짓';
이걸 중첩문 if로 한다면?
let c1 = true;
let c2 = false;
if(c1){
if(c2 == false){
console.log('둘다 참');
}else{
console.log('c1만 참');
}
}else{
console.log('c1 거짓이쥬?');
}
그래서 헷갈릴 수 있으니 괄호를 적극 이용하장~~!!
let val = c1 ? ( c2 ? '둘 다 참' : 'c1만 참') : 'c1이 거짓';
요로코롬~! 이지피지!~!!
아니면 들여쓰기로도 가능함
let val = c1;
? c2
? 'both true'
: 'only c1 true'
: 'c1 false so cant do c2';
근데 또 다른 방법도 있었다..ㅎㅎ
let c1 = true;
let c2 = false;
let val = c1 ? 'c1만 참' : c2 ? 'c2가 참' : '둘다 거짓';
console.log(val);
//c1만 참
1. 조건은
let val = c1 ? 'c1만 참' : c2 ? 'c2가 참' : '둘다 거짓';
2.참
let val = c1 ? 'c1만 참' : c2 ? 'c2가 참' : '둘다 거짓';
3.거짓
let val = c1 ? 'c1만 참' : c2 ? 'c2가 참' : '둘다 거짓';
헷갈리니 묶어주랑~!
let val = c1 ? 'c1만 참' : ( c2 ? 'c2가 참' : '둘다 거짓' ) ;
연습하기 스위치로 만들거나 조건부로 바꾸거나 이프로 바꾸거나
let cond = true;
let val = cond? 'true' : 'false';
console.log(val);
제로초님 공부 써머리