javascript switch 文での注意点

JavaScriptでswitch文を書く時に各case文に変数を定義したいときがあります。

ただ、普通に定義すると、その変数は別のcase文からも見えてしまいます。

const value = 'hoge'

switch(value){
    case 'hoge':
        const name = 'tami'
        console.log(name)
    case 'foo':
        console.log(name)
}

そういった場合はcaseをブロックスコープにすることで、別のcase文からは参照できなくなります。

const value = 'hoge'

switch(value){
    case 'hoge': {
        const name = 'tami'
        console.log(name)
    }
    case 'foo': {
        console.log(name)
    }
}

スコープを狭くした方が良いので、できるだけブロックで囲むようにした方が良いです。