강의
조건문은 무언가 확인할 때 사용한다.
사용자에게 창을 띄울 수 있도록 해준다. 2개의 인자를 받는다. (문자,기본값)
메세지를 보여주고 값을 넣으라고 말해준다.
=> 이 함수를 사용하게 되면, js는 여기서 멈춰 있게 된다. 우리를 기다림. 아직 작동 안함. 이것은 실행을 멈추게 하고, 그게 더 이상 prompt를 사용하지 않는 이유이다.
=> 메세지가 별로 안이쁘고, 아무런 스타일 css를 적용시킬수 없기 때문이다. 어떤 브라우저는 이 팝업을 차단하기도 한다. 엄청 오랜된 방법이고, 요즘은 html,css로 다 이쁘게 꾸민다.
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을 출력한다.
하나의 인자를 받고 숫자인지 판별한다. 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") //숫자일 때 실행 }
true && true === true
true && false === false
false && true === false
false && false === false
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를 쓰면 안되나? 라고 생각했는데 음수를 쓸 줄은 상상도 못했음 ㄴㅇㄱ
NOT 연산자는 인수를 하나만 받고, 다음 순서대로 연산을 수행합니다.
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인가?