case 裡的變數實際上是全域的
switch (true) {
case 1:
const name = 'cola'
console.log(name)
break
case 2:
const name = 'bear'
console.log(name)
break
}
output: Uncaught SyntaxError: Identifier 'name' has already been declared
實際上可以在 case 裡用 {} 劃份 scope
switch (true) {
case value: {
const name = 'cola'
// ...
}
break;
case value: {
const name = 'bear'
// ...
}
break;
}
在 PHP 反倒是沒這樣的情況~