Der folgende Ausdruck scheint wie vorgesehen zu funktionieren und den aktuellen Zeitstempel zurückzugeben.Warum werden Operatoren im Ausdruck new Date(). GetTime() in der Reihenfolge von links nach rechts angewendet?
new Date().getTime()
Allerdings kann ich nicht verstehen, warum Operatoren in strikter Links-Rechts-Reihenfolge hier angewendet werden.
MDN sagt der Mitglied (.
) Operator hat höhere Priorität als new
. Dies würde bedeuten, dass .
vor new
angewendet werden muss.
new (Date().getTime())
Aber in der Tat ist es bewertet als: So sollte der Ausdruck als ausgewertet werden
(new Date()).getTime()
Ich denke, es muss etwas sein, ich übersehen habe, aber ich kann nicht verstehen, was passiert.
Hinweis: Ich verwende diesen Ausdruck nicht wirklich (ich bevorzuge Date.now()
Methode). Es ist nur meine Neugier.
Die detailliertere Tabelle, die es verknüpft - https: //developer.mozilla.org/de-DE/docs/Web/JavaScript/Referenz/Operatoren/Operator_Precedence # Tabelle - zeigt, dass die drei die gleiche Priorität haben. –
In der Tat, es ist schön, denn das ist die Art, wie es funktioniert :) – Pointy
Danke. Jetzt kann ich MDN nicht vertrauen). – hindmost