Boolean에서 true 와 false값을 비교해보는 시간을 가지도록 하겠습니다.
크게 5개 있습니다.
5 falsy values: 0. ``. undefined, null, NaN
이 5가지들은 출력했을때 false가 나오는 값들입니다.
console.log(Boolean(0));
console.log(Boolean(undefined));
console.log(Boolean(`Jonas`));
console.log(Boolean({}));
console.log(Boolean(""));

안에 글이 있다면 작은따옴표도 안에 글이 있다면 true지만 빈곳은 false로 나옵니다.
이걸로 if 문을 만든것을 본다면
const money = 0;
if (money) {
console.log("Don't spend it all!");
} else {
console.log("You should get a job!");
}

원하는 값에 true가 아니라 '0' 그러니까 false가 나왔으니 당연히 else가 나왔습니다.
let height;
if (height) {
console.log("YaY! Height is defined");
} else {
console.log("Height is UNDEFINED");
}
하지만 이런 키 같은경우 두가지 중 하나만 나오길 원하는 답이 아니라
그럴리 없겠지만 키가 0이 일때는 키가 0 으로 측정이 되었지만
측정되지 않았다는 false값이 출력이 됩니다.
이거에 관해서는 다음 챕터에서 배우도록 하겠습니다.
등호표시도 strict 와 loose가 있는데요!
== (loose) : 2개만 있다면 loose
=== (strict) : 3개가 있다면 strict
이렇게 나눠져 있습니다.
const age = 18;
if (age == 18) console.log("You just became an adult! (loose)");
if (age === 18) console.log("You just became an adult (strict) ");

간단한 예시를 들어 보겠습니다. 이렇게 18살이라고 적고 두가지 if문을 출력해보겠습니다.
두 문장 다 출력이 되는걸 볼 수 있네요.
하지만 만약 나이를 const age = "18"; 이렇게 문자형으로 출력을 하게 된다면 어떻게 될까요?

이렇게 strict는 나오지 않고 loose만 나오는걸 확인 할 수 있습니다.
이렇게 loose를 쓰게 되면 내가 원하는 값을 User가 입력하지 않았더라도 출력하게 만들어 자칫 버그를 유발 할 수도 있으니 꼭 strict를 사용 하도록 합시다~!
const favourite = prompt("what's your favorite number?");
console.log(favourite);
if (favourite === 23) {
console.log("Cool! 23 is an amazing number!");
} else if (favourite === 7) {
console.log("7 is also a cool number");
} else if (favourite === 9) {
console.log("9 is also a cool number");
} else {
console.log("Number is not 23 or 7 or 9");
}
if (favourite !== 23) console.log("Why not 23?");
이렇게 23을 을 입력했을때 재미있는 문자가 나오늘 prompt를 만들어 보겠습니다.


???
23을 분명히 입력했는데 23을 넣지 않았을때 나오는 값이 나옵니다.
왜일까요?
prompt에 있는 저 문장이 문자로 인식해서 그런가 봅니다.
그럼 저 안에 있는 문장을 number로 바꿔 주겠습니다!
const favourite = Number(prompt("what's your favorite number?"));

짜잔 원하는 값이 나왔습니다~
이렇게 원하는 값을 넣을때는 정확히 그 속성이 뭔지 확실히 구분해주는게 중요합니다!

const numNeighbours = Number(
prompt("How many neighbour countries does your country have?")
);
console.log(numNeighbours);
if (numNeighbours === 1) {
console.log(`only 1 border`);
} else if (numNeighbours > 1) {
console.log(`More than 1 border`);
} else {
console.log(`No borders`);
}
시마이!!