Why does `switch`, `case` executes the code block even if no match? : <p>Considering below JS snippet. It prints 1 and 2 both even if <code>case: 2</code> is not a match!
I know, I can put a <code>break;</code> to prevent this, but I want to understand the real logic behind this. As this doesn't make sense to execute a block when there is no match.</p>

<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>var a = 1
switch(a){
    case 1:
		console.log(1)
    case 2:
		console.log(2)
}</code></pre>
</div>
</div>
</p>
