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]です。

また、 Produce と書くこともできますが{@foo}{foo: @foo}これはもう 1 つの便利な省略形です (もちろん、代入ステートメントの構造化でも機能します)。

本当に名前が必要な場合は、「オブジェクト リテラル キーの推論」の方が正確かもしれません。

于 2013-02-11T22:34:10.157 に答える