본문 바로가기
Front-end School/JS

[Javascript] - 조건문_if, else

by .LUKA 2021. 11. 27.
728x90

age 를 선언한다 = "how old are you?" 라는 prompt 를 parseInt 를 통해 넘버로 바꿔준다. (string -> number)

 

const age = parseInt(prompt("how old are you?"));

 

age값이  isNaN(is Not a Number?)인지 실행한다.

 

const age = parseInt(prompt("how old are you?"));
console.log(isNaN(age));

 

이때 prompt 를 실행시키면 아래와 같이 나온다.

 

 

숫자를 적어준다면 isNaN이라는 boolean 속성을 통해 값은 false가 나온다

-> 'is Not a Number은 숫자가 아니니?' 이기 때문에 '숫자가 아닌게 아니야!'의 값인 false가 나옴

 

자 그렇다면 반대로 글자를 넣어보자

 

 

당연히 값은 숫자가 아닌게 맞은 true값이 나온다.

 

조건문 if 와 else 선언


그렇다면 아래 코드와 같이 if else 를 선언해보자

 

const age = parseInt(prompt("how old are you?"));

if(isNaN(age)) {
    console.log("Please write a number!");
} else {
    console.log("Alright!");
};​

 

조건 if - 만약에 isNaN(age)true라면 곧 그말은 age가 숫자가 아니라면! 

실행 console.log - "please write a number!" 을 실행시켜라

 

조건 else - 만약에 isNaN(age) false라면 곧 그말은 age가 숫자가 맞다면!

실행 console.log - "Alright!" 를 실행시켜라

 

하는 말이 되겠다.

조건문 else if 선언


코드 예시를 조금 바꿔서 설명해보자.

흡연이 가능한 나이인지를 전제로 생각해보겠다.

 

const age = parseInt(prompt("how old are you?"));

if (isNaN(age)) {
    console.log("Please write a number!");
} else if (age < 18) {
    console.log("You are too young.");
} else if (age >= 18 && age <= 50) {
    console.log("You can smoke");
}
 else {
    console.log("You are tod old");
}

 

위 코드를 보면 먼저 

if 조건의 값이 false 일 경우 else if의 조건이 발동된다.

else if 의 조건을 살펴보면 age의 값이 18 아래 일때(=true)는 "You are too young." 의 값이 나온다.

 

하지만 age의 값이 18을 초과할 경우는 false 이기 때문에 다음 else if 조건으로 넘어가게 된다.

 

다음 else if 조건을 살펴보면

 

else if (age >= 18 && age <= 50) {
    console.log("You can smoke")
}
 else {
    console.log("You are tod old");
}

 

*여기서 나오는 &&(and)는 논리연산자로 아래 링크에서 자세히 설명 하겠다.

https://luka-frontend.tistory.com/2

 

age의 값이 18 이상(>=) 이거나 50(<=)이하 일때 값은 true "You can smoke" 라는 값이 나온다.

반대로 age의 값이 50 초과 일때는(18 미만은 전의 if else 조건문에서 걸린다.) false값이 적용되어 

다음 마지막 else 조건인 "You are too old" 라는 값이 실행 된다.


 

 

 

피드백은 언제나 환영입니다:)

728x90