javascript - Ytelsen til Date.now() vs (new Date).getTime()


var timeInMs = Date.now();

per MDN

mot

var timeInMs = new Date(optional).getTime();

ifølge MDN.

Er det noen forskjell mellom de to, bortsett fra syntaksen og muligheten til å sette datoen (til en annen enn dagens) via valgfritt i den andre versjonen?

Date.now() er raskere - sjekk ut jsperf

Svar #1

Disse tingene er de samme (rediger semantisk; ytelsen er litt bedre med .now()):

var t1 = Date.now();
var t2 = new Date().getTime();

Imidlertid er tidsverdien fra en allerede opprettet Date-instans frosset på tidspunktet for konstruksjonen (eller på hvilket som helst tidspunkt/dato den er satt til). Det vil si, hvis du gjør dette:

var now = new Date();

og deretter vent en stund, et påfølgende kall til now.getTime() vil fortelle tiden på det tidspunktet variabelen ble satt.

Svar #2

De er effektivt like, men du bør bruke Date.now(). Det er tydeligere og omtrent dobbelt så raskt.

Rediger: Kilde: https://jsperf.app/nimime/15

Relaterte artikler