【週刊ドットインストール】 256timesのクラスを準備中、Ruby/Ruby on Railsのロードマップページを追加
(() => { class IconDrawer { constructor(canvas) { ← //省略 } draw(angle) { ← this.ctx.rotate(Math.PI / 180 * angle); ← } } class Icon { constructor(drawer) { ← this.drawer = drawer; ← this.angle = 0; } draw() { this.drawer.draw(this.angle); ← } } const canvas = document.querySelector('canvas'); if (typeof canvas.getContext === 'undefined') { return; } const icon = new Icon(new IconDrawer(canvas)); ← icon.run(); })();
矢印をつけているあたりのコードで何が行われてい るのかよくわかりません。
const canvas = document.getElementById
で定義されている canvas と
canvas
new Icon(new IconDrawer(canvas))
の canvas は別の意味ですよね? (要は IconDrawer() の中身は何でも良い)
IconDrawer()
結果はうまく動いたのですが、new IconDrawer(canvas) を new IconDrawer(a) とすると動きませんでした。 仮引数 a が実引数 b に渡され、というように細かく教えていただけないでしょうか。
new IconDrawer(canvas)
new IconDrawer(a)
a
b
同様に IconDrawer クラスの draw メソッドで使われている angle に this が不要な理由もわかりません
IconDrawer
draw
angle
this
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
矢印をつけているあたりのコードで何が行われてい
るのかよくわかりません。
で定義されている
canvasとの
canvasは別の意味ですよね?(要は
IconDrawer()の中身は何でも良い)結果はうまく動いたのですが、
new IconDrawer(canvas)をnew IconDrawer(a)とすると動きませんでした。仮引数
aが実引数bに渡され、というように細かく教えていただけないでしょうか。同様に
IconDrawerクラスのdrawメソッドで使われているangleにthisが不要な理由もわかりません