2024年10月23日

関数バインディング

オブジェクトメソッドで setTimeout を使ったり、オブジェクトメソッドを渡すような場合、“this を失う” という既知の問題があります。

突然、this が正しく動作するのをやめます。この状況は初心者の開発者には典型的ですが、経験者でも同様に起こりえます。

“this” を失う

私たちはすでに、JavaScriptでは this を失うことが容易であることを知っています。 あるメソッドがオブジェクトから別の場所に渡されると、this は失われます。

ここで setTimeout を利用してどのように起こるのかを示します: