Добрый день, подскажите, почему в 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
Вернуть результат полученный на втором шаге с инвертированным знаком.
Комментариев нет:
Отправить комментарий