JavaScript式があり、特定のプロパティのすべてのインスタンスを関数に置き換える必要がある場合。たとえば:|「「&」、「(」、「)regexを使用してプロパティを関数に置き換えよう
foo => getFoo()
a.b.foo => getFoo(a.b)
a.foo.b => getFoo(a).b
a.foo.foo => getFoo(getFoo(a))
a.foo.b.foo => getFoo(getFoo(a).b)
a.foo+b.foo||c.foo => getFoo(a)+getFoo(b)||getFoo(c)
a(b.foo) => a(foo(b))
私は終わりを意味するか、されている「」、」特定の変数の開始する文字のチェックを持っている必要があります'、'、 '+'、 ' - '、 '='、 '<'、 '>'
'foo'という文字列を取得した場合、 getFoo()の内部に上記のものがリストされています。
これをどのように実装することができるのか、または正規表現以外の別の方法がより良いアプローチになるかどうか不明ですか?
これはなぜですか? – pirs
私はgetFoo()関数にいくつかのロジックを入力する必要があるため、いくつかの条件を満たす場合にのみfooを返します。そうでなければ何かを返します。 – user2802557
なぜあなたはgetFooオブジェクトを作成して拡張しないでください(浅いコピーを元にするか、プロトタイプ..) – pirs