#2.13 Conditionals - #2.15 Conditionals part three

오주형·2022년 3월 30일
0

#2.13 Conditionals (조건문)
조건문은 true인지 false인지 알려준다. 무언가를 확인해야 할 때 거의 대부분 사용한다. (가령, 사용자가 로그인되어 있다면, 무언가를 보여준다든지 또는 사용자가 무언가를 할 때 반응하는 것을 만들 때)
키워드는 if.

(prompt, typeof, parseInt)
prompt라는 function. prompt는 사용자에게 창을 띄울 수 있도록 해준다. message(문자)와 default라는 2개의 argument를 받는다. message should be a string. prompt는 사용자에게 메세지를 보여주고 값을 넣으라고 창이 띄워진다. console에서는 아무 반응이 없다. 띄워진 창은 js를 일시정지 시킨다. 즉 자바스크립트 코드의 실행을 멈추게 한다.(답을 하기 전까지) 이제는 message가 예쁘지 않고 css를 적용시킬 수 없기 때문에 prompt를 사용하지 않는다!

한 type으로 받아서 다른 type으로 바꾸는 작업해 볼 것!
사용자가 무엇을 입력하더라도 number로 바꿔보기.
값(value)의 type을 보기 위해서는 typeof라는 키워드를 사용하면 된다.(ex. typeof age <-typeof를 쓰고 한 칸 띄우고 variable 적으면 된다.) 창에 무엇을 적든(아무 것도 적지 않아도 string.)

이제 여기서 type을 변경하는 방법을 배운다.
어떻게 string을 number로 바꿀 수 있을까? parseInt라는 함수를 사용하면 된다! (A string to convert into a number.) (ex. parseInt("15") -> 15) parseInt를 사용하여 숫자로 바뀌면 그 수가 어떤 수보다 큰지 작은지 알 수 있다. (string이면 비교할 수 없음) 또한 그 값이 숫자인지 아닌지 알 수 있다.(문자를 숫자로 바꾸려고 하면 NaN(Not a Number)라는 메세지가 뜬다.) parseInt는 "lalala"와 같은 string을 처리하지 못한다. "123"과 같은 것들만 처리할 수 있다.
이렇게 우리는 string을 number로 바꾸는 방법을 알 수 있게 되었다!

// Deep Dive (page 333)
perseInt(10); // -> 10
perseInt(10.123); // -> 10
반환값은 언제나 10진수다.

perseInt('10'); // -> 10
perseInt('10', 2); // -> 2
->'10'을 2진수로 해석하고 그 결과를 10진수 정수로 반환한다.
perseInt('10', 8); // -> 8
->'10'을 8진수로 해석하고 그 결과를 10진수 정수로 반환한다. //

(ex)
const age = parseInt( prompt("How old are you?) );
15살이라면,
const age = parseInt( "15" );
const age = 15;
=> 숫자 15가 나온다. function은 내부에서부터 외부로 실행된다.

lalala를 입력한다면,
const age = parseInt( "lalala" );
const age = NaN;

#2.4 Conditionals part Two
무엇이 NaN인지를 판별하는 방법을 배울 것이다. isNaN이라는 함수를 통해서! isNaN를 사용하고 하나의 argument(인자)를 주면 number인지 아닌지를 알려줄 것이다. isNaN은 boolean을 return(반환)한다. false가 나오면 숫자라는 뜻!

if(condition){
//condition ===true
}
=> condition은 boolean이어야 한다. 즉, boolean으로 판별 가능해야한다. true or false.

#2.4 Conditionals part Three
if (condition) {
// condition;
} else if (condition) {
// condition;
} else {
// condition;
}
=> else if 사용하여 많은 conditional을 연결시킬 수 있다. else가 작동되기 위해서는 위의 조건들이 모두 false여야 한다!

condition이 두 가지 일 때, AND 연산자(operator)는 다음과 같이 표시한다. && (ex. else if(age >=18 && age <= 50) ) &&(AND)가 하는 역할은 js에게 좌측 조건(age >= 18)과 우측 조건(age <= 50) 둘 다 true여야 하는 것임을 알려준다.
OR 연산자||로 표시. 둘 중 하나만 true인지 확인한다. 두 조건 중 하나만 true여도 된다.

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

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

else는 선택적 사항이다. 꼭 사용하지 않아도 된다.

profile
곧 개발자

0개의 댓글