Почему «new Date (). ToString ()» работает с учетом приоритета оператора Javascript?
Государства MDN что в Javscript есть два оператора, которые имеют самый высокий приоритет:
Левый ассоциативный член-оператор:foo.bar
Правоассоциативный новый оператор:new Foo()
Я обычно явно разделяю два:(new Date()).toString()
Но я часто вижу их обоих вместе:new Date().toString()
Согласно сэтот ответпричина, по которой работает второй способ, заключается в том, что ассоциативность второго оператора имеет значение, когда оба оператора имеют одинаковый приоритет. В этом случае оператор-член остается ассоциативным, что означаетnew Date()
оценивается первым.
Однако, если это так, то почемуnew Date.toString()
провал? После всего,new Date
являетсяпросто синтаксический сахар заnew Date()
, Приведенный выше аргумент говорит, что это должно работать, но это явно не так.
Чего мне не хватает?