1

以下の関数では、2 つの引数を渡したいと考えています。instanceオブジェクトをprop参照し、オブジェクトのプロパティ名を参照します。

door.x = 20; // door['x'] refers to the same
key(door, 'x');
function key(instance, prop) {
    Tween.get(instance, {override: true}).to({prop: -150}, instance[prop]);
}

ある時点で参照できるようにする必要があるためdoor['x'](これは別の書き方ですdoor.x)、x常に文字列である必要があります。ただし、xここではオブジェクトのプロパティ名として同じものを使用する必要がありますが、コードが機能しないため、そこに文字列を含めることはできません。

Tween.get(door, {override: true}).to({'x': -150}, door['x']); // does not work because a string has been passed as an object property name

私が本当に欲しいのはこれです:

Tween.get(door, {override: true}).to({x: -150}, door['x']); // works

だから、私の質問は次のとおりです。文字列を「文字列から外す」ことができる何らかの方法はありますか? または、おそらくこれに関する他の解決策はありますか?

4

1 に答える 1