let toDo = prompt('what do you want?');
let toDoList = ["take a shit"]
while (toDo !== "quit") {
if (toDo === "list") {
console.log("*********");
for (i = 0; i < toDoList.length; i++) {
console.log(`${i} :${toDoList[i]}`);
}
console.log("*********");
toDo = prompt('what do you want?');
}
else if (toDo === "add") {
let addWhat = prompt("what you wanna add?");
toDoList.push(addWhat);
console.log(`you add index ${addWhat}`);
toDo = prompt('what do you want?');
}
else if (toDo === "delete") {
let deleteWhat = parseInt(prompt("what you wanna delete?"));
if (!Number.isNaN(deleteWhat)) {
toDoList.splice(deleteWhat, 1);
console.log(`you deleted index ${deleteWhat}`);
toDo = prompt('what do you want?');
}
else {
console.log('Unknown');
while (Number.isNaN(deleteWhat)) {
deleteWhat = parseInt(prompt("delete?"));
}
console.log(`you deleted index ${deleteWhat}`);
toDoList.splice(deleteWhat, 1);
toDo = prompt('what do you want?');
}
}
}
console.log('quit');
delete에 숫자가 아닌 string을 넣으면
parseInt가 NaN을 받고 if가 !Number.isNaN(deleteWhat) 인데
숫자가 아닌 string을 넣으면 Number.isNaN(deleteWhat) 는 true가 되며
if는 !가 붙어 조건이 false (number) 이므로
else로 넘어가 while로 Number.isNaN(deleteWhat)가 true (string)이면 계속
deleteWhat = parseInt(prompt("delete?"));
가 나오는 코드이다.
while을 충족하지 못해 ( false 즉, number ) while 밑의 console.log, splice등을 실행하고
다시 toDo = prompt('what do you want?'); 를 입력받는다.
'The Web Developer 부트캠프 2022 > 프로젝트' 카테고리의 다른 글
ToDo 리스트 - 1 (0) | 2022.09.18 |
---|---|
사탕박물관 만들기 - 1 (0) | 2022.09.16 |