Страницы

Поиск по вопросам

пятница, 5 апреля 2019 г.

Преобразование типов для отрицательной строки

Добрый день, подскажите, почему в Javascript минус перед "строкой" превращает ее в число?
Например:
typeof (-"30"); // number; typeof ("30"); // string;
Спасибо!!


Ответ

Согласно спецификации
The unary - operator converts its operand to Number type and then negates it. Negating +0 produces −0, and negating −0 produces +0.

Оператор "Унарный –" преобразует свой операнд к типу Number и затем инвертирует знак. Инвертирование для +0 даст −0, и для −0 - +0
Далее следует алгоритм работы данного оператора
Вычислить выражение Вызвать ToNumber Если результат NaN вернуть NaN Вернуть результат полученный на втором шаге с инвертированным знаком.

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

Отправить комментарий