0

除了方便的解构赋值语法外,CoffeeScript 还支持类似的构造对象字面量的语法:

a = 1
b = 2
o = {a, b}

> {a: 1, b: 2}

我在任何地方都找不到这种语法的提及,所以我把它称为重组分配。这个结构有一个传统的名字吗?如果不是,其他人怎么称呼它?

更新

结构化表达式是我的新名字 du jour。

4

1 回答 1

2

这与分配无关;这只是对 JavaScript 对象字面量语法的补充。

有趣的是,您似乎将其视为“派生自”解构赋值,因为实际上情况恰恰相反:解构赋值来自对象文字符号,并且不限于您所描述的无键子集。例如,{foo: asdf} = bar完全符合您的预期:

asdf = bar.foo

所以这{a: b, b: a} = {a, b}是一种非常混乱的写法[a, b] = [b, a]

你也可以写到{@foo}producer {foo: @foo},这是另一个有用的速记(当然它也适用于解构赋值语句)。

如果你真的需要一个名字,“对象文字键推断”可能更准确。

于 2013-02-11T22:34:10.157 回答