JavaScript ダブルコロン(バインド演算子) 質問する

JavaScript ダブルコロン(バインド演算子) 質問する

ご存知のとおり、関数のショートカットの提案があるので.bind()、次のように記述できます。

::this.handleStuff

es5 では次のように動作します:

this.handleStuff.bind(this)

私の質問は、この方法で引数を渡すことは可能でしょうか?

前述のショートカットを使用してこれを記述する方法を意味します。

this.handleStuff.bind(this, 'stuff')

これは React では非常に一般的なパターンなので、少し短くすると良いでしょう。

ベストアンサー1

いいえ。バインド演算子スペック提案) には 2 つの種類があります。

  • メソッド抽出

    ::obj.method     ≡ obj.method.bind(obj)
    
  • 「仮想メソッド」呼び出し

    obj::function    ≡ function.bind(obj)
    obj::function(…) ≡ function.call(obj, …)
    

どちらも部分適用必要な場合は、矢印関数を使用する必要があります。

(...args) => this.handleStuff('stuff', ...args) ≡ this.handleStuff.bind(this, 'stuff')

おすすめ記事