почему я не получаю вывод в этом коде?

#javascript #switch-statement

Вопрос:

 <!DOCTYPE html>
<html>
<head>

<title> javascript </title>
</head>
<body>

<h2>JavaScript switch</h2>

<p id="demo"></p>

<script>
let x = prompt('enter no');

switch (x) {

           case 0:
              text = "off";
              break;
           case 1:
              text = "On";
              break;
           default:
              text = "No value found";
}
document.getElementById("demo").innerHTML=text;
</script>
</body>
</html>
 

в приведенном выше коде я хочу , чтобы пользователь ввел ввод, а затем я хочу отобразить вывод, но каждый раз, когда я пытаюсь это сделать, выводится единственный вывод defaut=lt, почему?

Комментарии:

1. Потому prompt что возвращает строку, а не число. Попробуй case "0"

2. Потому "1" !== 1 что отладка console.log(x, typeof x, x === 0, x ===1);

Ответ №1:

Используйте Number() для преобразования в числовое значение

 let x = Number(prompt('enter no'));