函数调用的parens是否像grouping operator一样?
2 * (3 + 1) // 3 + 1 is evaluated first
'a'.concat('b'.concat('c')) // 'b'.concat('c') is evaluated first
由于+
和concat
都是半群意味着它们满足关联属性x(yz) = (xy)z
,所以concat函数调用的parens不像grouping operator吗?
答案 0 :(得分:1)
是的,函数调用参数的语法也会导致表达式的分组。
但不,它不控制执行顺序,表达式仍然是从外向和从左到右评估的。 (首先评估对函数的引用,然后是参数,然后调用函数)。