#javascript #if-statement #command-prompt #console.log
#javascript #if-statement #командная строка #console.log
Вопрос:
независимо от того, что я передаю в строке или номере приглашения, оно возвращается как «добро пожаловать на панель мониторинга», даже если я помещаю строку вместо числа.
let user = prompt('user name:');
let id = prompt('user id:');
let dev = parseInt(id);
if (typeof user === 'undefined' || dev.length === 0) {
console.error('you miss one of the inputs.');
} else if (typeof user === 'string' amp;amp; typeof dev === 'number') {
console.log('welocme on yto your dashboard.');
} else {
console.log('either user name or ID is wrong please check again');
}
Комментарии:
1. Все, что возвращается из prompt(), всегда является строкой.
typeof id
всегда будет строка. Вы пытаетесь проверить, является лиid
это «допустимым» числом?2. да, вы правы, я пытаюсь проверить, было ли введено число или нет. итак, как это решить?
Ответ №1:
prompt
возвращает a String
, который можно обрезать (удаляет пробелы до и после). Затем вы можете проверить, имеют ли строки длину 0, и проверить, правильно ли dev
проанализировано значение id
:
let user = prompt('Username:').trim();
let id = prompt('User ID:').trim();
let dev = parseInt(id);
if (!(user amp;amp; id)) {
console.error('You missed one of the inputs.');
} else if (!isNaN(dev)) {
console.log('Welcome to your dashboard.');
} else {
console.error('Either your username or ID is wrong. Please check again.');
}