Repeat until the input is correct
(importance: 5)
Write a loop which prompts for a number greater than 100. If the visitor enters another number – ask them to input again.
The loop must ask for a number until either the visitor enters a number greater than 100 or cancels the input/enters an empty line.
Here we can assume that the visitor only inputs numbers. There’s no need to implement a special handling for a non-numeric input in this task.
이 문제로 꽤나 머릿속에서 씨름을 여러 번 했다.
prompt 자체를 loop로 만들어야 하는 건 알겠는데 어떻게 구현해야 실행이 될 수 있을지 계속 끙끙.
그러다가 내가 쓴 코드가 데모랑 똑같이 실행되는 걸 보고 기뻤다.
while(true) {
let input = prompt("Enter a number greater than 100?", "");
if(input > 100 || input == null || input == "") break;
}
그리고 이 튜토리얼에서 제시한 코드 답안은,
let num;
do {
num = prompt("Enter a number greater than 100?", 0);
} while (num <= 100 && num);
do 안에 있는 코드를 일단 먼저 실행시키고 난 다음에, while 안에 있는 condition을 확인하는 방식으로 코드를 작성했더라. 분명 전에 한 번 하면서 이해하고 넘어갔다고 생각했는데, 다시 복습하는 과정에서 도무지 생각이 나지 않았던. while 안에 (&& num)까지 적어준 이유는 num이 취소를 눌러 null이거나 비어있는 string일 때 false로 만들기 위함이라 적혀있다.
출처 : https://javascript.info/while-for#repeat-until-the-input-is-correct
'Front End > JavaScript' 카테고리의 다른 글
[JS] Avoid callback hell, Promise (0) | 2021.06.20 |
---|---|
[JS] Object-Oriented Programming (OOP) (0) | 2021.06.16 |
[JS] Constructor Function : Prototype chain (0) | 2021.06.15 |
[JS] ES6 Classes (0) | 2021.06.14 |
[JS] The Complete JavaScript Course 2021: From Zero to Expert! | # 165 (0) | 2021.06.08 |
댓글