2.13 Conditionals (1) (조건문)

gangmin·2021년 12월 18일
0

강의
조건문은 무언가 확인할 때 사용한다.

prompt

사용자에게 창을 띄울 수 있도록 해준다. 2개의 인자를 받는다. (문자,기본값)
메세지를 보여주고 값을 넣으라고 말해준다.
=> 이 함수를 사용하게 되면, js는 여기서 멈춰 있게 된다. 우리를 기다림. 아직 작동 안함. 이것은 실행을 멈추게 하고, 그게 더 이상 prompt를 사용하지 않는 이유이다.
=> 메세지가 별로 안이쁘고, 아무런 스타일 css를 적용시킬수 없기 때문이다. 어떤 브라우저는 이 팝업을 차단하기도 한다. 엄청 오랜된 방법이고, 요즘은 html,css로 다 이쁘게 꾸민다.

parseInt

string을 number로 변환해준다.

console.log(typeof "15" , typeof parseInt("15"));
>> string number

"abcde" 같은건 처리 못하고, "23"이런것만 처리할 수 있다.

const age = parseInt(prompt("How old are you?"));
console.log(age);
> 24입력하면 >> 24
> abcde 입력하면 >> NaN

parseInt가 문자열을 숫자로 변환해주는데, 변수가 숫자에 해당되지 않기 때문에 NaN을 출력한다.


2.14 Conditionals (2)


값이 NaN인지를 판별하는 방법을 배워보자.

isNaN

하나의 인자를 받고 숫자인지 판별한다. boolean으로 반환한다.
숫자면 false, NaN이면 true이다.

condition(조건)은 boolean으로 판별 가능해야 한다. ( 참 / 거짓 )

const age = parseInt(prompt("How old are you?"));
if(isNaN(age)){
    console.log("Please write a number");   //숫자가 아닐 때 실행
} else{
    console.log("Thank you for writing your age")  //숫자일 때 실행
}

2.14 Conditionals (3)

논리 연산자

1) AND &&

true && true === true
true && false === false
false && true === false
false && false === false

2) OR ||

true || true === true
true || false === true
false || true === true
false || false === false

const age = parseInt(prompt("How old are you?"));
if(isNaN(age) || age < 0){
    console.log("Please write a real positive number");
} else if(age<18){
    console.log("You are too young.");
} else if (age >= 18 && age <= 50){
    console.log("You can drink");
} else if (age > 50 && age <= 80){
    console.log("You should exercise")
} else if (age > 80){
    console.log("You can do whatever you want.")
}

솔직히 80살 초과일때 왜 굳이 esle if 를 쓰지? 더 단순한 else를 쓰면 안되나? 라고 생각했는데 음수를 쓸 줄은 상상도 못했음 ㄴㅇㄱ

3) NOT !

NOT 연산자는 인수를 하나만 받고, 다음 순서대로 연산을 수행합니다.

  1. 피연산자를 boolean(true / false)으로 변환
  2. 1에서 변환된 값의 역을 반환

2.16 Recap

else if (age > 80){
    console.log("You can do whatever you want.")
} else if (age === 100) {
	console.lod("wow you are wise");
}

이렇게 코드를 짜면 마지막 줄은 절대로 실행되지 않는다. 코드는 위에서 부터 읽기 때문에 100을 입력하면 age>80 조건문에 걸리기 때문이다.

적는 순서를 잘 생각해야 한다.

 else if (age === 100) {
	console.lod("wow you are wise");
} else if (age > 80){
    console.log("You can do whatever you want.")
}

두 조건문의 위치를 바꾸면 잘 실행된다.

  • a = b : 값을 할당한다.

  • a === b : a는 b인가?

0개의 댓글