[JS] 조건문 - if, switch, 조건 연산자

이희주·2024년 4월 3일
0

✏️ 오늘 학습한 조건문(if, switch, 조건 연산자)에 대해 정리해보자


1. if 문

if문은 지정한 조건이 참인 경우 명령문(statement)을 실행한다.
조건이 거짓인 경우 또 다른 명령문이 실행 될 수 있다.

라이브 강의를 들으면서 강사님께서 이 짤로 if문의 예시를 들어주셨다.
공부를 시작하기 전에 접했던 짤이었는데 이렇게 공부하면서 접하니 이제야 이해가 간다.ㅋㅋㅋ

if

아마 여자분의 의도가 이 if문이 였을 것이다.
우유 한개를 사고 + 아보카도가 있다면 아보카도를 6개 사오는 것

우유를 1개 산다.
if(아보카도가 있다면?){
    아보카도 6개를 산다
}

if...else

하지만 남자분은 이 if else로 사온 것이다.
마트가서 우유를 1개 사오는데 아보카도가 있다면 우유를 6개 사와야지..로 코드가 잘 못 짜여진 것이다.

if(아보카도가 있다면?){
    우유를 6개 산다
}else{
    우유를 1개 산다
}

if...else if

else if는 내가 한번 만들어 봤다.
아보카도가 있으면 아보카도만 6개를 사고,
아보카도가 없다면 우유를 6개,
우유 6개가 없다면 우유를 1개라도 사는 것이다.

if(아보카도가 있다면?){
    아보카도를 6개 산다
}else if{
    우유를 6개 산다 
}else{
    우유를 1개 산다
}

2. switch 문

  • switch문은 하나 이상의 case문으로 구성된다.
  • 값과 일치하는 case문이 없다면, default문 아래의 코드가 실행된다.(default문이 있는 경우에)
  • case문 안에 break문이 없으면 조건에 부합하는지 여부를 따지지 않고 이어지는 case문을 실행한다.
let fruit = "apple";
	switch (fruit) {
		case "banana" : console.log('바나나');
		break;
		case "orange" : console.log('오렌지');
		break;
		case "apple" : console.log('사과'); // 사과 출력
		break;
		case "grape" : console.log('포도');
		break;
		default : console.log('다른과일');
	}

3. 조건(삼항) 연산자

  • 조건(삼항) 연산자는 JavaScript에서 세 개의 피연산자를 받는 유일한 연산자이다.
  • 앞에서부터 조건문은 물음표(?), 조건문이 참(truthy)일 경우 실행할 표현식은 콜론(:), 조건문이 거짓(falsy)일 경우 실행할 표현식이 배치된다.
const age = parseInt(prompt('나이를 입력하세요.'));
age >= 20 ? console.log('성인입니다') : console.log('미성년입니다.')

// 20 이상을 입력하면 '성인입니다' 출력
// 20 미만을 입력하면 '미성년입니다' 출력
  • 조건부 연산자 물음표(?)를 여러 개 연결하면 복수의 조건을 처리할 수 있다.
const age = parseInt(prompt('나이를 입력하세요.'));
age >= 20 ? console.log('성인입니다')
	: age >= 8 ? console.log('미성년입니다.')
	: console.log('아동입니다.')

// 20 이상을 입력하면 '성인입니다' 출력
// 8 이상 20 미만을 입력하면 '미성년입니다' 출력
// 8 미만을 입력하면 '아동입니다' 출력
  • 조건(삼항) 연산자는 연산자이기 때문에 if문과 switch문과는 다르게 연산의 결과를 반환한다.
  • 연산의 결과를 변수에 할당하여 사용할 수 있다.
const age = parseInt(prompt('나이를 입력하세요.'));
let result = age >= 20 ? '성인입니다'
			: age >= 8 ? '미성년입니다.'
			: '아동입니다.'

console.log(result); // 연산의 결과를 변수 result로 할당

// 출력되는 결과는 위와 동일하다
// 20 이상을 입력하면 '성인입니다' 출력
// 8 이상 20 미만을 입력하면 '미성년입니다' 출력
// 8 미만을 입력하면 '아동입니다' 출력



0개의 댓글