Vesmir
@Vesmir
HTML / CSS / Angular / Typescript / JS

Задание с learn.javascript. Поясните код?

Дано: вывод введённого числа.

const number = +prompt('Введите число между 0 и 3', '');

if (number === 0) {
  alert('Вы ввели число 0');
}

if (number === 1) {
  alert('Вы ввели число 1');
}

if (number === 2 || number === 3) {
  alert('Вы ввели число 2, а может и 3');
}


Вопрос: для чего в первой строке "+" и "\"\"" ?
  • Вопрос задан
  • 576 просмотров
Решения вопроса 4
Xuxicheta
@Xuxicheta
инженер
+ Чтобы число получить и работало строгое равенство number === 0
Унарный плюс
https://learn.javascript.ru/operators#preobrazovan...
А обратных слешей у тебя в вопросе вообще нет, но вообще они используются для экранирования или указания спецсимволов
Ответ написан
Комментировать
@McBernar
Чтобы значение, которое вы ввели в форму, привелось к числу. Если не писать +, то из формы прилетит строка (число с типом строка).

Небольшой хак.
Ответ написан
Комментировать
@vadimMalovaniy
"+" для преобразования типов. prompt возвращает примитив string, а "+" преобразует его в примитив number.
Ответ написан
Комментировать
@Piratt14
+ перед prompt это краткая форма приведения строки к числу, так как возвращаемое значение prompt является строкой. а символ \ используется для экранирования символов, которые являются обычно специальными для строки и их просто так не используешь в строках. Например console.log("abc\"de") - выведет строку abc"de. То есть сочетание \" заменилось просто на " при выводе.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы