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

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

function now(){
    return +new Date;
}

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

11
задан Darrell Brogdon 30 December 2009 в 23:20
поделиться

3 ответа

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

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

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

var cost = +productX; // 500
27
ответ дан 3 December 2019 в 01:07
поделиться

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

10
ответ дан 3 December 2019 в 01:07
поделиться

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

9
ответ дан 3 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: