function checkInput(input) {
if (input.length !== 4) { // 길이가 4인지
return alert('4자리 숫자를 입력하세요.');
}
if (new Set(input).size !== 4) { // 중복된 숫자가 있는지
return alert('중복된 숫자를 입력했습니다.');
}
if (tries.includes(input)) { // 이미 시도한 값인지
return alert('이미 시도한 값입니다.');
}
return true;
}
검사를 통과하면 true를 반환하고, 실패하면 false를 반환합니다. 반환값은 나중에 if 문에 넣어 검사가 실패했는지 아닌지 판단할 때 사용합니다. 코드를 보면 실패하는 경우에는 alert(메시지)를 반환하고 있습니다. alert() 메서드는 undefined를 반환합니다. 즉, return undefined와 같고, undefined는 if 문에서는 false로 처리하므로 결과가 같습니다. 이러한 부분은 언어적인 특성이므로 복잡하다면 alert() 메서드를 사용한 후에 명시적으로 return 문으로 false를 반환해도 됩니다.