js运算符优先级
优先级由高到低:小括号(xxx) ---> 属性访问. ---> new foo() ----> foo()
除了 …扩展运算符 以外,就是 . 运算符和 [ ] 运算符最优先,
就先匹配它的左右,以 . 的位置隔开,用括号括起来,
匹配成完整的“对象.属性名” 的格式,或者“对象[属性名]”
然后在匹配,其它的格式, new 函数名 ()
所以,当 出现 “new 函数名 ()”时,会匹配成“new 函数名 ()”,不会是“new”,“函数名 () ”
优先级顺序从高到低:
(…) . […] new … (…) …(…) new …
…++ …-- ! … +… -… ++… --…
typeof … void… delete…
…*… …/… …%… …+… …-…
…<… …<=… …>… …>=…
…==… …!= ……===…
…& … …^… …|… …&&… …||…
…? …: ……=… …+=… …-=…
…*= … …/=… …%=… …&=…
yield… ... … …, …