希望这不是太哲学化的问题,但这与帮助我理解Javascript及其约定有关。
为什么SwitchCase语法看起来与JavaScript的其他部分如此不同?
具体来说,我指的是冒号、缩进和 break
关键字。
其他地方也有吗?
它只是看起来很像python。
当你使用TypeScript时,它也变得更加混乱,因为TypeScript使用冒号来定义类型。
而不是这样。
switch(foo){
case 'bar':
//do something
break;
case 'bizz':
//do something
break;
default:
//do something else
break;
}
我觉得应该这样写。
switch(foo){
case('bar'){
//do something
}
case('bizz'){
//do something
}
default{ //or even an 'else'
//do something else
}
}
实际上,你可以在JavaScriptTypeScript的switch case语句中使用大括号,这与你在问题中写的类似。
switch(foo){
case(bar): {
//do something
}
case(bizz): {
//do something
}
default: {
//do something else
}
}
这实际上是在每个case内创建了一个块范围的语句,它允许你定义本地的 let
或 const
中的每一个。
因为SwitchCase语法也是。
switch(foo){
case 'bar':
case 'bizz':
//do something for both
break;
default:
//do something else
break;
}