getContext()できないときは要素が本当にcanvasか確認しよう
Emmetで「canvas#canvas」とするところを、間違えて「#canvas」と入力してしまい、できあがったdiv要素に対してgetContext()してしまったためエラーが出ました。
はずかしいミスですが意外と気づかなそうなので書いておきます。
const canvas = document.getElementById('canvas') // この時点でdiv要素が入ってしまっているconst ctx = canvas.getContext('2d') // U