Почему проверка на typeof не проходит
Занимаюсь по MDN и попалась задачка на то чтобы проверить то что введёная информация является строкой. Приведён пример
if (isNaN(num)) {
Но почему пример
if (typeof num === 'string') {
не работает?
const input = document.querySelector('.numberInput');
const para = document.querySelector('p');
function squared(num) {
return num * num;
}
function cubed(num) {
return num * num * num;
}
function factorial(num) {
var x = num;
while (x > 1) {
num *= x-1;
x--;
}
return num;
}
input.onchange = function() {
var num = input.value;
if (isNaN(num)) {
para.textContent = 'You need to enter a number!';
} else {
para.textContent = num + ' squared is ' + squared(num) + '. ' +
num + ' cubed is ' + cubed(num) + '. ' +
num + ' factorial is ' + factorial(num) + '.';
}
}
input {
font-size: 2em;
margin: 10px 1px 0;
}
<input class="numberInput" type="text">
<p></p>
Источник: Stack Overflow на русском