2つの機能があるとします。javascriptの矢印機能付きコールバック
function foo(callback) {
...
}
function bar() {
...
}
私はバーがパラメータを必要としないと仮定してfoo(bar)
とfoo(() => bar())
を呼び出す違いは何ですか?
私は最近、this
に関するエラーが発生しましたが、もう1つは問題ありません。私は矢印関数が関数へのthis
コンテキストをバインドすることを知っている、私は違いが何であるか分からない。
参考までに、ここに問題のコードがあります。
socket.disconnect(socket.connect); // line 1
socket.disconnect(() => socket.connect()); // line 2
socket.disconnect(function() { socket.connect(); }); // line 3
この問題は、コンテキストに関連していない可能性があります。それは、適用またはバインドのあるものかもしれません。 line2とline3は正常に動作し、line1だけがエラーを表示するためです。
あなたは 'this'の主題を研究したことがありますか? – trincot
_ "矢印機能がこのコンテキストをバインドすることを知っています" _、いいえ、それはどんなコンテキストにもバインドしません。 'これは何でもあったでしょう。'外側の範囲。 –
"矢印機能は匿名であり、この機能のバインド方法を変更します。"私は文書でそれを読む。 – emil