Страницы

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

воскресенье, 2 февраля 2020 г.

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

#javascript


Добрый день, подскажите, почему в Javascript минус перед "строкой" превращает ее
в число? 

Например:

typeof (-"30"); // number;
typeof ("30"); // string;  


Спасибо!!
    


Ответы

Ответ 1



Согласно спецификации 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 Вернуть результат полученный на втором шаге с инвертированным знаком.

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

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