素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

投稿日:

【Canvas】Property ‘toDataURL’ does not exist on type ‘HTMLElement’.の原因と対処方法【TypeScript】

「Abel ツ Channel」開設!٩(ツ)و

この度、YouTubeチャンネルを開設しました!

ブログと並行してのんびりゲーム実況やら色々な動画を投稿していこうと思うので、よろしければ、
ポチィ〜!
して頂けるとこれ幸いです!٩(ツ)و

スポンサーリンク

336×280




CanvasのtoDataUrlでコンパイルエラー

TypeScriptを使ったプロジェクトの中でcanvastoDataUrlメソッドやtoDataURLメソッドを使用すると、以下のようなエラーが発生する事があると思います。

このままだとコンパイルエラーのため、CIで止まってしまうので解決する必要があります。

原因

これは、canvas要素を取得した際の戻り値の型を明示的に指定する必要があります。

解決方法

解決方法は2種類あります。

asを使って型を定義

まず一つ目はasを使ってType assertions (キャスト)を行う方法です。

キャストを行う

二つ目はジェネリックを使う方法です。

型定義だけではダメ

変数を定義する際に型を指定すれば良いのでは?とTypeScript初心者の筆者は思いましたが、それではダメでした。

その場合はascastと併用しなければいけないので、直接的な解決策ではなさそうですね。

本日のオススメ商品

終わりに

以上のように、ややはまりがちなTypeScriptのエラーです。

お困りの方は是非試してみてください♪

336×280




336×280




CATEGORIES & TAGS

IT, , , , , , , , , ,

blogenist

Author: blogenist