gpt4 book ai didi

javascript - 如何在其赋值表达式中重用目标的值?

转载 作者:行者123 更新时间:2023-11-29 18:43:05 26 4
gpt4 key购买 nike

如何让它工作:

(()=>{let a={}, b; console.log((b=a[`complex and long expression`])=9*b+1}))()

我想在赋值表达式中重用目标的值。

我想避免写这么长:

(()=>{let a={}, b; console.log(a[`complex and long expression`]=9*a[`complex and long expression`]+1)})()

最佳答案

您修改后的问题询问如何做到这一点:

(()=>{let a={}, b; console.log(a[`complex and long expression`]=9*a[`complex and long expression`]+1)})()

无需重复。

唯一的方法是重复对a 的属性访问,但是没有理由重复复杂而长的表达式:

(()=>{let a={}, ex = `complex and long expression`; console.log(a[ex] = a[ex] * 9 + 1}))()

如果它只是 * 9,就像您原来的问题一样,您可以使用复合赋值:

I want to avoid writing this long:

(()=>{let a={}, b; console.log(a[`complex and long expression`]=9*a[`complex and long expression`]}))()

您可以使用*= 9 同时进行乘法和赋值。

(()=>{let a={}; console.log(a[`complex and long expression`]*=9}))()
// ---------------------------------------------------------^^

*= 获取左侧操作数的值,将其乘以右侧操作数,然后赋值回左侧操作数。大多数数学和按位运算都存在这些复合赋值运算符。

More on MDN .

关于javascript - 如何在其赋值表达式中重用目标的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55703794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com