[JS] 조건문 공부하기(if문, 삼항조건연산자, switch문)

전예원·2021년 10월 8일
0

Java Script 공부

목록 보기
7/33
post-thumbnail

💡 조건문 if문, switch문, 삼항조건연산자을 공부하자

🔴 if - else 문


  • 조건식이 true이면 참의 코드 블록을 실행하고, false면 거짓의 코드 블록을 실행한다.
  • 조건식을 추가해 조건에 따라 실행될 코드 블록을 늘리고 싶으면 else if를 사용한다.
if(조건식1) {
  // 조건식1이 참이면 이 코드 블록이 실행
} else if(조건식2) {
  // 조건식2가 참이면 이 코드 블록이 실행
} else {
  // 조건식1과 조건식2가 모두 거짓이면 이 코드 블록이 실행
}
  • if와 else 문은 2번 이상 사용할 수 ❌, else if는 여러번 사용 ⭕️
  • 코드 블록 내의 문이 하나뿐이라면 중괄호 생략 가능
var num = 2;
var kind;

if(num > 0) kind = '양수'; 
else if(num < 0) kind = '음수';
else kind = '영';

console.log(kind); // 양수
  • if - else문은 삼항 연산자로 바꿔 쓸 수 있음

🟠 삼항 조건 연산자


조건식 ? 참일 때 값 : 거짓일 때 값
  • 이런 방식으로 쓰는게 삼항 조건 연산자.
  • 항이 3개라서 삼항
  • 삼항 조건 연산자로 구성된 식은 표현식 -> 표현식은 값처럼 사용 가능 -> 변수에 할당 가능

🟡 if-else문 -> 삼항 조건 연산자로


  • if-else 문
var x = 2;
var result;

if (x % 2) { // 2/2의 나머지는 0, 0은 false로 암묵적 강제 변환
  result = '홀수';
} else {
  result = '짝수';
}

console.log(result); // 짝수
  • 삼항 조건 연산자
var x = 2;

var result = x % 2 ? '홀수' : '짝수';
console.log(result); // 짝수

🟢 삼항 조건 연산자 (경우의 수가 세가지인 경우)


var num = 2;

var kind = num ? (num > 0 ? '양수' : '음수') : '영';

console.log(kind); // 양수

🔵 switch문


  • switch문은 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case문으로 실행 흐름을 옮긴다.
  • case문은 상황을 의미하는 표현식을 지정하고 ;으로 마친다. 그리고 그 뒤에 실행할 문들을 위치시킨다.
  • 표현식과 일치하는 case문이 없으면 실행 순서는 default문으로 이동, default문은 선택사항이다. 안써도된다.
switch (표현식) {
  case 표현식1 :
    switch 문의 표현식과 표현식1이 일치하면 실행될 문;
    break; // break를 안쓰면 이 밑에도 다 같이 실행된다.
  case 표현식2 :
    switch 문의 표현식과 표현식2이 일치하면 실행될 문;
    break;
  default :
      switch 문의 표현식과 일치하는 case 문이 없을 때 실행될 문;
}
  • if-else문은 주로 불리언값으로 평가되었지만, switch문의 표현식은 불리언 값보단 문자열이나 숫자 값인 경우가 많음
  • default문을 break문 없이 맨위에 배치해도 default문의 실행이 종료되면 switch문을 빠져나가서 별도의 break문이 필요 없음

🟣 switch문으로 윤년인지 판별해서 2월의 일수 구하는 예제


var year = 2000;
var month = 2;
var days = 0;

switch (month) {
  case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : 
    days = 31;
    break;
  case 4 : case 6 : case 9 : case 11 : 
    days = 30;
    break;
  case 2 :
    days = ((year % 4 === 0 && year % 100 !== 0) || ( year % 400 === 0)) ? 29 : 28;
  default :
    console.log("Invalid month"); 
}

console.log(days); // 29

🟤 윤년 계산 알고리즘

  1. 연도가 4로 나누어떨어지는 해는 윤년이다.
  2. 연도가 4로 나누어떨어지더라도 연도가 100으로 나누어떨어지는 해는 평년이다.
  3. 연도가 400으로 나누어떨어지는 해는 윤년이다.
profile
앞으로 나아가는 중~

0개의 댓글