2016-11-26 9 views
0

Helllo、私は徐々にhttp://es6katas.org/でES6コードを処理しています。オブジェクトリテラル - 別のキーを明示的に指定する必要があります

私は、コードのこの作品にこだわっている:

const func =() => func; 

it('a different key must be given explicitly, just like before ES6',() => { 
    const short = {func}; 
    assert.deepEqual(short, {otherKey: func}); 
}); 

どのように私は私のテストは、明示的なキーを使用して渡すように得ることができますか?私はアサーションを変更することはできません。他のコードだけを変更してください。

+3

'CONST短い= {otherKey:FUNC};' – melpomene

+0

@melpomene:すなわち何もテストしません。 –

+0

@ T.J.Crowderテストをパスします。 – melpomene

答えて

1

この演習の目的は、あなたが値を保持する変数の名前と一致しないキーを使用したい場合は、あなたがキーを与える必要があることを実証することですES6の前と同じように、明示的に

それはかなり些細な運動だし、変数名shortが得られたコードを作るは少し奇妙に見えるが、それは単純だ:

it('a different key must be given explicitly, just like before ES6',() => { 
    const short = {otherKey: func}; 
    assert.deepEqual(short, {otherKey: func}); 
}); 
0

アサーションを変更しない場合は、指定した「他のキー」がshortで使用される変数の名前と一致するようにコードを更新する必要があります。例えば

const func =() => func; 

it('a different key must be given explicitly, just like before ES6',() => { 
    const otherKey = func; 
    const short = {otherKey}; 
    assert.deepEqual(short, {otherKey: func}); 
}); 
+0

と書くこともできます。明示的なキーは使用しません。 – melpomene

+0

@melpomene:そうです。最初の例では 'otherKey'、2番目の例では' func'です。 –

+0

いいえ、 '{otherKey}'は変数名から派生した暗黙のキーを使用します。明示的なキーは '{keyHere:valueHere}'のように見えます。また、テスト名には「*別のキー*」と表示されます。つまり、変数名と一致しません。 – melpomene

関連する問題