Javascript: 조건문(prompt()함수에 대한 설명도 포함)

2024. 2. 22. 00:44Javascript Node.js

prompt()

조건문을 설명하기 앞서 다음 코드에서 prompt()라는 함수를 확인할 수 있는데

alert 창과 동일하게 웹페이지에 알림을 보여주지만 입력할 수 있는 창을 제공하고 있다.
 

조건문

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")
}

위 코드에서 isNaN(age) 같은경우

age의 값이 숫자가 아닌경우 true를 반환하고 숫자인 경우 false를 반환한다.

parseInt() 같은 경우 string으로 된 숫자를 받았을 경우 string 숫자를 number 숫자로 변경해 주는 역할을 한다.

 

다음 문제가 있다. 함께 풀어보자.

만약 다음과 같은 조건문이라 할때 else if (age === 100) {}이 조건이 실행이 되는가?

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.");
} else if (age === 100){
	console.log("wow you are wise");
}

 

정답은 실행이 안된다.

이유는 else if ( age > 80) {}라는 조건문 안에는 100이라는 숫자 또한 같이 포함되어져 있기 때문에 조건문을 사용할 때에는 순서에 대해 면밀히 따져보고 사용해야한다.

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 === 100){
	console.log("wow you are wise");
} else if ( age > 80 ){
	console.log("You can do whatever you want.");
}

다음과 같이 순서를 정렬해야 else if (age === 100) {}이라는 조건이 실행이 된다.

앞으로 if문을 많이 사용하게 될 것이다. 조건문 사용 시 조건에 따른 정렬 순서를 면밀히 따져보며 코드를 작성하도록 주의 하자.