Foo.bar = () => { ... }
function Foo() { ... }
#Foo.prototype.bar = () => { ... }
#new Foo.bar(); (1)
new Foo().bar(); (2)
(1)可以理解為new (Foo.bar)()
(2)實際執行是(new Foo()).bar() =>這不符合運算子優先權規則啊一元運算子<屬性擷取與呼叫函數運算子(. [] ())
帶參數清單的 new new Foo() 跟成员访问 .bar 是同個優先權,按左往右。
new Foo()
.bar
不含參數列表的 new new Foo 低一階。
new Foo
帶參數清單的 new
new Foo()
跟成员访问.bar
是同個優先權,按左往右。不含參數列表的 new
new Foo
低一階。