Google Chrome Team is experimenting with opaque canvas in the last chromium build. 

And if you're interested in, you can enable "experimental canvas features" flag in chrome://flags and play with it by setting your context with canvas.getContext('2d', { alpha: false });
Screenshot below shows you that an opaque canvas has a black background whereas the "normal" one is transparent.

Good students will appreciate the WhatWG proposal at

Shared publiclyView activity