首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >混合赋值和复合赋值算子-优先级?

混合赋值和复合赋值算子-优先级?
EN

Stack Overflow用户
提问于 2014-09-06 00:11:53
回答 1查看 1K关注 0票数 2

我一直在试图弄清楚,将赋值和复合赋值操作符链接在一起总是可以预测地从右到左工作吗?示例:

代码语言:javascript
运行
复制
a = b += c

这是否总是被评估为

代码语言:javascript
运行
复制
a = (b += c)

无论其他复合算子和算子的顺序如何,我都可以替代?

今天有好几次,我犹豫要把这些不同的操作人员连在一起,而不知道如何评估优先级。我所引用的来源通常是模棱两可的,因为它说,即使这些运算符具有相同的优先级级别,“在某一行上列出的运算符对其参数的约束将比在其下方的行上列出的任何运算符的约束更紧”--这表明,在上面的示例中,普通赋值运算符可能比复合赋值运算符对a & b“绑定得更紧密”。

EN

回答 1

Stack Overflow用户

发布于 2014-09-06 00:28:57

“在它下面的一行”并不是指+=出现在=下面的行上,而是指出现在它下面的行上的throw,,其中一个表行由边框分隔。

假设a = b += cbc都是有效表达式,那么abc可以表示除(a) = ((b) += (c))之外的任何其他内容,唯一的方法是这些表达式中的任何一个都包含您链接到列表的优先级别15或更高级别的操作符。

这方面的一个例子是,如果b实际上是d, ea = d, e += c的意思自然是(a = d), (e += c),而不是a = ((d, e) += c

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25695593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档