経緯
利用していたjQueryのプラグインをES6の記述で修正。thisの参照先の違いによりエラーが起きてしまいました。
ソース
html
1<script> 2;(function($){ 3 $('.hoge').testFunction(); 4}($)); 5</script>
jQuery
1;(function($){ 2 // function(option) からアロー関数へ変更 3 $.fn.testFunction = ( option ) => { 4 5 const defaults = $.extend({ 6 param1 : '', 7 param2 : '', 8 },option); 9 10 // 参照先が違う 11 let self = $(this); 12 13 }; 14 15}($));
したいこと
アロー関数はthisを束縛しないため、上記の書き方ではwindowオブジェクトが参照されてしまいます。
function()で記述していたときのように、アロー関数で$.fn.testFunction() 自身を参照するためにはどうしたらいいでしょうか?
以上、お力添えいただければ幸いです。
回答2件
あなたの回答
tips
プレビュー