조건문(conditionals)
condition이 어떤 Boolean 값을 반환하냐에 따라에 따라 조건문의 반환값이 달라진다.
함수의 body에서 console.log가 아닌 return을 해야 하는 이유
console.log는 콘솔에 결과를 보여주기 위한 것이다. 따라서 JavaScript 코드 내에서는 함수의 결과값을 인지하지 못한다. 즉, 함수의 결과값은 undefined로 남는다.
return을 하면 함수는 작동은 멈추고 결과값을 반환한다.
prompt(message?: string, _default?: string)는 메세지를 보여주고 값을 입력하라고 하는 함수이다. 응답하기까지 JavaScript의 실행을 멈추게 한다. CSS를 적용할 수 없다. 오래된 함수이고, 지금은 사용하지 않는다. cancel(=null), ok(=empty string), string
prompt() 함수를 이용해 A라는 data type을 B라는 data type으로 바꾸는 작업을 진행
A: string / B: number
Data Type을 확인하는 방법. 놀랍게도 JS 언어임
typeof 변수명
parseInt()
string을 number로 변환하는 함수console.log(parseInt("15")) // 15 console.log(parseInt("lalalala")) // NaN
isNaN()
Returns a Boolean value that indicates whether a value is the reserved value NaN
만약 age가 NaN(Not a Number)이라면, age를 다시 입력하라고 요청
const age = parseInt(prompt("How old are you?")); console.log(isNaN(age)); // false : age는 number
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.");
}
conditionals 조건문 // OR AND operator
const age = parseInt(prompt("How old are you?"));
if (isNaN(age) || age < 0) {
console.log("Please write a real 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");
}
Recap
자바스크립트는 위에서 아래로 읽는다
const age = parseInt(prompt("How old are you?"));
if (isNaN(age) || age < 0) {
console.log("Please write a real 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 === 100) { // age !== 100 ; age가 100이 아니라면?의 의미임
console.log("wow you are wise");
} else if (age > 80) { // 80 이상 파트를 먼저 기재하면 age===100을 overlap함. 따라서 age가 100살인지를 먼저 확인하는 구문이 앞에 와야 함
console.log("You can do whatever you want");
}