私はバベルを使ってES7のデフォルトオプションを試そうとしています。ここで私は何ができるかです:名前のつけられたデフォルトのES6パラメーター(破棄されていない)
class Foo {
constructor({key='value', foo='bar', answer=42}) {
this.key = key;
this.foo = foo;
this.number = number;
}
}
これは、この例のために働くかもしれないが、私は、私は非常に大規模な設定オブジェクトのために割り当てることができる方法を知っているしたいと思います。ここは私がしたいことの一例です:
class Foo {
constructor(opts = {key='value', foo='bar', answer=42}) {
this.opts = opts;
}
}
しかし、これはコンパイルされません。私はこのようにそれを実行しようとしました:
class Foo {
constructor(opts = {key:'value', foo:'bar', answer:42}) {
this.opts = opts;
}
}
しかし、それは、オブジェクト全体を置き換える、次のように:
let foo = new Foo({key: 'foobar'});
console.log(foo.opts);
// {key: 'foobar'} is what is displayed
// When I want {key: 'foobar', foo:'bar', answer:42}
申し訳ありませんが、私の投稿が実際にはっきりしていないことを認識しました。だから私はタイトルを編集しました。私はパラメータを無効にしたくない – Vinz243
オブジェクトを手動でコピーする必要があります。私は通常それを使用するレシピで答えを更新しました。 – estus
それは私が最後にやったことです。私はES6/7でそれをやることができるかどうかを知りたかっただけです。ありがとう! – Vinz243