When canvas came out, you might or rather I might be forgiven for what I am about to say.
For the longest time I had believed that 2D context was somehow less powerful and slower than webgl and webgl2 contexts and perhaps even rendered on the CPU 😣, now that I write this I can see how silly this might sound. But I wonder if you can clear this up. Is context2d just webgl aka opengl but higher level and an API that is specific to JavaScript.
Next if context 2D is not transferable to other environments which utilize shaders, then the reasons to learn glsl are ....
And lastly, can you use webgl and webgl2 in JavaScript without ever writing a line of glsl?