как я собираюсь повернуть это правильно. получить данные из приглашения на консоль с помощью оператора if правильным способом

#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.');
}