ゆるふわ技術日誌スマートフォン用の表示で見るゆるふわ技術日誌エンジニア見習いの悪戦苦闘日記2019-06-15JavaScriptのインスタンスメソッドを変数に代入してはいけないJSerにとっては当たり前の事なのかもしれないが、うっかりハマってしまったので備忘録として書いておく。User('mirin');UserクラスのインスタンスであるuserのgetNameメソッドを呼び出します。mirinこれは間違いなく、インスタンスかする時にコンストラクタで指定した名前が返ってきます。undefinedとなる。(ちょっとこの辺は正確さに欠ける表現があるかもしれないので、ご承知おきください)JavaScriptのthisは、呼び出したオブジェクトが入ります。(アロー関数を使った場合の挙動は別になります。要注意)user.getName()の場合は、userがthisになるため、名前を取り出す事ができますが、メソッド自体を変数に代入して呼び出してしまうと、thisはundefinedとなってしまうため↑に示したエラーが起こります。ちなみに実際に僕がやらかしたのは、条件によって呼び出すメソッドを変える必要があるという、割と複雑なロジックを書いていた場面でした。mirinという感じで、bindを使ってthisを束縛してやればOKです。メソッドの定義をアロー関数を使う、でもOKです。16:36JavaScriptのインスタンスメソッドを変数に代入してはいけないTweet広告を非表示にする関連記事2019-05-31結局ジェネレータって何に使うの...?って話JavaScript基礎力強化を図っています。第3...2019-05-26RegExp.prototype.execが偶数回しか動かない謎に遭遇したハナシ先日、既存のコードのテストをしていたところ、正規表現のマッ...2019-05-23ES6で追加されたSymbolって結局なんなのかJavaScript基礎力強化を図っています。Goのお勉強を引き続きやった。»プロフィールid:uutarouゆるく広く浅くをモットーに頑張る。毎日技術日誌やってます。年末年始をまとめる近況報告的な記事(趣味要素つよめ)社会人になって半年経った。月別アーカイブはてなブログをはじめよう!uutarouさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。