Javascript | 조건문

Jae ·2021년 7월 20일
0

Javascript

목록 보기
4/14
post-thumbnail

조건문(conditional statement)은 주어진 조건식(conditional expression)의 평가 결과에 따라 코드 블럭(블록문)의 실행을 결정한다. 조건식은 Boolean 값으로 평가될 수 있는 표현식이다.

자바스크립트는 2가지의 조건문 if…else 문과 switch 문을 제공한다.

✅ Achievement Goals

  • truthy와 falsy 가 조건문에서 작동하는 방식을 이해할 수 있다.
  • 비교연산자를 통한 엄격한 비교(=== , !==)에 대해 이해할 수 있다.
  • if 와 else if , else를 이해하고 무리없이 활용할 수 있다.
  • 논리연산자를 (&&, ||, !, ...)을 통해 복잡한 조건을 간결하게 작성할 수 있다.
  • 에러 메세지 읽는 법을 배우고, 이를 기반으로 작성한 코드를 수정하는 방법을 배운다.
  • 복잡한 조건문을 활용하여, 실생활에서 쉽게 마주하는 문제를 해결하기 위한 알고리즘을 구현할 수 있다.

if ... else 문


if…else 문은 Boolean 값이 true or false 인지에 따라 실행할 코드 블록을 결정한다. 만약 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 변환되어 true or false 를 구별한다.

if (조건식) {
  // 조건식이 true 이면 이 코드 블록이 실행된다.
} else {
  // 조건식이 false 이면 이 코드 블록이 실행된다.
}
  • 조건식의 평가 결과가 true 일 경우, if 문 다음의 코드 블록이 실행된다.
  • false 일 경우, else 문 다음의 코드 블록이 실행된다.

조건식을 추가하고 싶으면 else if 문을 사용한다.

if (조건식1) {
  // 조건식1이 참이면 이 코드 블록이 실행된다.
} else if (조건식2) {
  // 조건식2이 참이면 이 코드 블록이 실행된다.
} else {
  // 조건식1과 조건식2가 모두 거짓이면 이 코드 블록이 실행된다.
}
  • else if 문과 else 문은 옵션으로 사용할 수도 있고 사용하지 않을 수도 있다.
  • if 문과 else 문은 2번 이상 사용할 수 없지만 else if 문은 여러 번 사용할 수도 있다.

비교 연산자

//비교의 결과는 항상 boolean 즉 true or false
100 > 1000; // false
100 < 1000; // true
'hello' === 'world'; // false

조건문의 사용 예시

if (조건1) {
  // 조건1 통과 O
} else if (조건2) {
  // 조건1 통과 X
  // 조건2 통과 O
} else {
  // 모든 조건 통과 X
}

두 가지 조건 한번에 적용 되는 경우
논리 연산자(logical operator)를 사용

//학생이면서 여성일 때 통과
isStudent && isFemale; // AND 연산자

//학생이거나, 여성일 때 통과
isStudent || isFemale; // OR 연산자

//학생이 아니면서, 여성일 때 통과 
!isStudent && isFemale; // ! => NOT 연산자

논리 연산자 NOT

!false // true
!(100<500) // false

논리 연산자 OR

// 두 가지 조건 중 하나 만족
true || true // true
true || false // true
false || false // false

논리 연산자 AND

// 두 가지 조건 다 만족
true || true // true
true || false // true
false || false // false

논리 연산자 NOT

!false // true
!(100<500) // false
!undefinded // true
!'Hello' // false

기억해야할 6 가지 falsy 값

// if 문에서 false로 변환되므로 if 구문이 실행되지 않는다.
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('')

0개의 댓글