조건문

katsukichi·2021년 1월 19일
1

CodeStates_PRE

목록 보기
5/27

조건문은?

  • 어떤 조건을 판별하는 기준을 만드는것

  • 반드시 비교연산자가 필요할것 (당연히.. 없어도되지)

비교연산자
1. === , !==, <,<= ,>, >= 등등..
결과는 항상 true 혹은 false를 return 한다.

== 같다와 != 다르다는 엄격하게 비교해주지 않기때문에 비추천한다.
== 는 예외가 너무많다

조건문 생김새

if(조건1){
  // 조건1 이 통과할 경우
} else if(조건2){
  // 조건1 이 통과하지않고
  // 조건2가 통과할 경우
} else{
  // 모든 조건이 통과하지 않는 경우
} 

두가지 조건이 한번에 적용되는 경우?

논리연산자(Logical Operator)를 사용한다.

  1. isStudent && isFemale ;

    학생이면서, 여성일때 통과
    둘다 true 일때 true

  2. isStudent || isFemale ;

    학생이거나, 여성일때 통과
    둘중 하나만 true일때 true

  3. !isStudent && isFemale ;

    학생이 아니면서, 여성일 때 통과
    값이 반전된다.

신기한 NOT 의 사용

undefined // falsy 한 값
!undefined // truty 한 값
'Hello' // 빈문자열이 아닌 String은 truty 하다.
!'Hello' // 그러므로 falsy

수많은 예외를 기억해야하나?

기억해야할 6가지 falsy 값
1. false
2. null
3. undefined
4. 0
5. NaN // Not a Number라는 의미의 숫자 키워드
6. '' // 빈 문자열

조건문으로 에러메시지 읽기

1. 먼저 요구사항을 읽어봅니다.

나이를 입력받아 술을 마실 수 있는지(18세이상) 여부를 리턴해야 합니다.

2. 테스트 케이스를 확인해봅니다.

expect(isOldEnoughToDrink(40)).to.be.true;

위 내용의 의미는 다음과 같습니다.

isOldEnoughToDrink(40)의 리턴값이 true가 되기를 기대한다.

3. 이유를 확인합니다.

expected undefined to be true
이 내용을 풀어서 설명하면,

true가 되어야 할 것으로 기대했지만, 실제로는 undefined라는 값으로 나왔다.

그러므로 어딘가에 return을 undefined로 하고있거나,
return이 되지않는 곳이 있을수 있는것이다.

이러한 일련의 과정을 디버깅이라고 한다.

profile
front-back / end developer / Let's be an adaptable person

0개의 댓글