2.13 Conditionals (1) (조건문)
강의
조건문은 무언가 확인할 때 사용한다.
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 연산자는 인수를 하나만 받고, 다음 순서대로 연산을 수행합니다.
- 피연산자를 boolean(true / false)으로 변환
- 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 > 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인가?
Author And Source
이 문제에 관하여(2.13 Conditionals (1) (조건문)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kangmin01/2.13-Conditionals-1-조건문저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)