Подтвердить что ты не робот

Что означает "+ новое" в JavaScript?

Просматривая источник jQuery в функции now(), я вижу следующее:

function now(){
    return +new Date;
}

Я никогда не видел, чтобы оператор "плюс" был добавлен к новому оператору, как это. Что он делает?

4b9b3361

Ответ 1

Nicolás и Brian правы, но если вам интересно, как это работает, +new Date(); эквивалентно (new Date()).valueOf();, потому что унарный + получает значение своего операнда, а затем преобразует его ToNumber.

Вы можете добавить метод valueOf для любого объекта и использовать оператор унарного + для возврата числового представления вашего объекта, например:

var productX = {
  valueOf : function () {
    return 500; // some "meaningful" number
  }
};

var cost = +productX; // 500

Ответ 2

Я думаю, что оператор унарного плюса, примененный ко всему, заставит его преобразовать в число.

Ответ 3

Он преобразует Date() в целое число, предоставляя вам текущее количество миллисекунд с 1 января 1970 года.