Por que “new Date (). ToString ()” funciona dado a precedência do operador Javascript?

Estados MDN que existem dois operadores no Javscript que compartilham a maior precedência:

O operador membro associativo à esquerda:foo.barO novo operador associativo à direita:new Foo()

Eu normalmente separo explicitamente os dois:(new Date()).toString()
Mas frequentemente vejo os dois combinados:new Date().toString()

De acordo comesta resposta, a razão pela qual a segunda maneira funciona é que é a associatividade do segundo operador que importa quando os dois operadores têm igual precedência. Neste caso, o operador membro é deixado associativo, o que significanew Date() é avaliado primeiro.

No entanto, se for esse o caso, então por quenew Date.toString() falhou? Depois de tudo,new Date éapenas açúcar sintático paranew Date(). O argumento acima diz que deve funcionar, mas obviamente não funciona.

o que estou perdendo?

questionAnswers(2)

yourAnswerToTheQuestion