为什么SwitchCase语法与JavaScript的其他部分如此不同?

问题描述 投票:0回答:1

希望这不是太哲学化的问题,但这与帮助我理解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
  }
}

javascript typescript syntax
1个回答
2
投票

实际上,你可以在JavaScriptTypeScript的switch case语句中使用大括号,这与你在问题中写的类似。

switch(foo){
  case(bar): {
    //do something
  }

  case(bizz): {
    //do something
  }
  default: {               
    //do something else
  }
}

这实际上是在每个case内创建了一个块范围的语句,它允许你定义本地的 letconst 中的每一个。


0
投票

因为SwitchCase语法也是。

switch(foo){

  case 'bar':
  case 'bizz':
    //do something for both
    break;

  default:
    //do something else
    break;
}
© www.soinside.com 2019 - 2024. All rights reserved.