사전스터디

ChungKyu Kim·2021년 12월 5일
0

if 조건문

불리언을 사용해 참, 거짓일 때 실행될 코드를 만들 수 있다

if(조건이 참 값일 때){
실행할 코드
}
else {
참값이 아닐 때 실행될 코드
}

조건이 여러개 일 경우 else if를 사용할 수 있다

if(who === "son"){
  return "Nope!"
  } else if(who === "dad"){
    return "Good!"
  }else if(who === "grand father"){
    return "Be careful!"
  }else{
    return "Who are you?"
  }
}

스트링을 비교해서 참, 거짓 값만 원할 때,

function equalsWecode(string) {
return string === 'wecode'

  
}
let output = equalsWecode("youcode")
console.log(output); // -> false

문제

이름(name)과 나이(age)를 입력받는 checkAge라는 함수는 나이에 따라 다른 메시지를 리턴합니다.
만일 나이가 21살보다 적으면, "Go home, (name)!"
나이가 21살이거나 더 많으면, "Nice to meet you, (name)!" 을 리턴하세요.
쉼표와 공백, 느낌표까지 정확히 리턴

function checkAge(name, age) {
  if (21 > age){
    return 'Go home, ' + name + '!'
  } else if( 21 <= age) {
    return 'Nice to meet you, ' + name + '!'
  }
}

느낌표를 문자로 취급하지 않아서 고생했다.
name과 같이 어떻게 쓰지?를 엄청 생각했었다..

grade

function whichGrade(score){
  if(90 <= score && score <= 100){
    return "A" 
    } else if (80 <= score && score <= 89){
      return "B"
    } else if (70 <= score && score <= 79){
      return "C"
    } else if (60 <= score && score <= 69){
      return "D"
    } else if (0 <= score && score <= 59){
      return "F"
    } else {
      return "INVALID SCORE"
    }
}

이건 봤을 때, 쉽다고 생각했는데 엄청 고생했다
score의 위치도 바꿔보고 점수 위치도 바꿔보고 진짜 다해봤는데 계속 Fail....
원인은 바로 INVALID를 INVAILD라고 써서.. 헿

or

function or(expression1, expression2) {
  if( expression1 == false && expression2 !== true){
    return false;
  } else {
    return true;
  }
}

처음에 expression에 불리언 값을 어떻게 지정해주지? 생각했는데, 문제를 보면 그렇게 풀 필요는 없는 것 같은데 라는 생각도 들고...
최근에 배운 혹은 썼던 방법을 계속 쓰려고 하다보니 그런 것 같다.

isEitherEvenAndLessThan9

function isEitherEvenAndLessThan9(num1, num2) {
if( num1 % 2 === 0 || num2 % 2 ===0){
  if(num1 < 9 && num2 < 9)
  return true;
}
return false;
}

처음에는 두번째 if에 중괄호를 열고 풀었는데 뭔가 이상한 느낌에 검색검색 해보니 열지 않아도 되는 것을 발견..
또 굳이 else를 열지않고 함수 중괄호에 return false하면 조건을 제외한 것들을 리턴할 수 있었음

그래서 위에 or도 else를 빼봤더니 성공~

profile
프리비엣!

0개의 댓글