なぜスイッチ/ケース構文が残りのJavaScriptとは異なるのですか? -- javascript フィールド と typescript フィールド と syntax フィールド 関連 問題

Why is Switch/Case syntax so different from the rest of JavaScript?












0
vote

問題

日本語

うまくいけばこれは哲学的ではありませんが、それは私がJavaScriptとその表記を理解するのを助けることに関係しています。

スイッチ/ケースの構文は、残りのJavaScriptとは異なるように見えるのですか?

具体的には、コロン、インデント、および break キーワードの使用について話しています。

それは他の場所にも存在しますか?

Pythonのようにたくさん見えるだけです。

タイプを定義するためのコロンを使用する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 } }
英語

Hopefully this isn't too philosophical, but it pertains to helping me understand Javascript and its conventions.

Why does the Switch/Case syntax look so different from the rest of JavaScript?

Specifically, I'm talking about the use of the colon, indentation, and the break keywords.

Does that exist in other places too?

It just sure looks a lot like python.

It also gets more confusing when you use TypeScript which makes use of colons for defining types.

Instead of this:

switch(foo){    case 'bar':     //do something     break;    case 'bizz':     //do something     break;    default:     //do something else     break; } 

I would think it should be written like this:

switch(foo){   case('bar'){     //do something   }    case('bizz'){     //do something   }   default{                 //or even an 'else'     //do something else   } }  
</div
        
       
       

回答リスト

2
 
vote

実際には、JavaScript / TypesScript Switch Caseステートメントでカーリー中括弧を使用できます。これは、質問で書いたものに似ています。

<事前> <コード> setContentView4

実際には、それぞれの場合内部のブロックスコープステートメントを作成します。これにより、ローカル<コード> setContentView5 または<コード>または<コード> if (savedInstanceState == null) { getFragmentManager().beginTransaction() .replace(R.id.container, new DifferentFragment()) .commit(); } return super.onCreateView(inflater, container, savedInstanceState); 616 をそれぞれ内に定義できます。

 

You can actually use curly braces in JavaScript/TypeScript switch case statements, which is similar to what you have written in your question.

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

This actually created a block scoped statements within each case, which allows you to define the local let or const within each of them.

</div
 
 
0
 
vote

スイッチ/ケース構文も次のとおりです。

<事前> <コード> setContentView7
 

because the Switch/Case syntax is also:

switch(foo){    case 'bar':   case 'bizz':     //do something for both     break;    default:     //do something else     break; } 
</div
 
 

関連する質問

394  PrintFを使用して符号なしLong Long Intをフォーマットするにはどうすればよいですか。  ( How do you format an unsigned long long int using printf ) 
<事前> <コード> #include <stdio.h> int main() { unsigned long long int num = 285212672; //FYI: fits in 29 bits int normalInt = ...

7  C ++でのデフォルトの逆基準セマンティクス[閉じた]  ( Default pass by reference semantics in c ) 
現在立つにつれて、この質問は私たちのQ&AMPにとって良いフィットではありません。フォーマット。私たちは事実、参考文献、または専門知識によって支持されることを期待していますが、この質問は...

0  Yojimboのメモアイテムの「コンテンツ」を取得できないのはなぜですか?が「コンテンツ」を取得できますか?  ( Why cant i retrieve contents of a note item in yojimbo but i can retrieve th ) 
YojimboのAppleScript辞書のメモアイテムは次のように定義されています。 <事前> <コード> note item n [inh. database item] : A note item. elements contained by ap...

3  ASP.NET vs asp.net MVC  ( Asp net vs asp net mvc ) 
今こそ、テクノロジーズのどちらが優れているのは質問ではありません。 私の質問は2つの構文に関するものです。構文の違いはどのように異なりますか? ...

1  条件付き順序  ( Conditional orderby ) 
それで、今、私はユーザーが並べ替えることができる数の列を持っています(名前、郡、active)、そしてそれは簡単だが乱雑です。このように見えます... <事前> <コード> Select Case e.SortExpression ...

7  JavaScript言語とjQueryの$  ( Javascript language and the in jquery ) 
私は疑問に思いました、$の方法はいかがですか。 $ .ajax({...})。仕事?私には意味がありません。メンバーとしてのajaxは意味がありますが、$は変数名ですか?またはそれは?どのように定義されていますか? ...

109  Javaの単一と二重引用符の違いはありますか?  ( Is there a difference between single and double quotes in java ) 
Javaの単一引用符と二重引用符の差はありますか? ...

687  ダブルまたはシングルブラケット、括弧、カーリーブレースの使用方法  ( How to use double or single brackets parentheses curly braces ) 
私は、括弧内の括弧、括弧、巻き毛の括弧、およびそれらの二重または単一の形の違いによって混乱しています。明確な説明はありますか? ...

5  `using`ディレクティブの場所はC#に違いを生じさせますか?  ( Does the location of the using directive make a difference in c ) 
今日は既存のコードへのフォーマットをやろうとしている間にエラーが発生しました。もともと、コードにはネームスペースの外で宣言されている using ディレクティブがありました: <事前> <コード> using System.Collections.Generi...

370  Pythonでバイナリリテラルをどのように表現しますか?  ( How do you express binary literals in python ) 
Pythonリテラルを使用したバイナリ番号として整数を表現しますか? 私はヘクスの答えを見つけることができました: <事前> <コード> >>> 0x12AF 4783 >>> 0x100 256 と8進: <事前> <コード> >>> 01267 69...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有