次の式は意図したとおりに動作し、現在のタイムスタンプを返します。式の演算子が新しいDate()。getTime()が厳密な左から右の順序で適用されるのはなぜですか?
new Date().getTime()
ただし、演算子が厳密な左から右の順序で適用されている理由を理解できません。
MDNは、メンバー(.
)の演算子がnew
よりも高いと言います。これは、.
をnew
より前に適用する必要があることを意味します。だから、表現のように評価されるべきである:
new (Date().getTime())
しかし、実際には、それは次のように評価されます
(new Date()).getTime()
私が見落としてきた何かがなければならないと思いますが、私は何を理解することはできません。
注::私は実際にこの表現を使用しません(私はDate.now()
メソッドを好む)。それは私の好奇心です。
リンク先のより詳細な表 - https://developer.mozilla。org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#テーブル - 同じ優先順位を持つ3つのテーブルを示します。 –
確かにそうです、それはそれが実際に働く方法のためにいいです:) – Pointy
ありがとう。今私はMDNを信頼できません)。 – hindmost