2016-08-03 13 views
1

セミコロンの配置に関してw3schoolsを勉強していて、「いつもセミコロンで簡単なステートメントを終了します」と言っています。そして: "複雑なステートメントをセミコロンで終わらせないでください。"彼らは、単純な文と複雑な文の違いを定義しておらず、徹底的なオンライン検索でも答えは得られなかった。 JavaScriptのセミコロンプレースメントとはまだ混同されています。助けていただければ幸いです。ありがとう!単純なステートメントと複雑なステートメントの違い - Javascript

リンク:http://www.w3schools.com/js/js_conventions.asp それは見出しの下にある:「文規則」

+1

はあなたが引用しているページへのリンクを提供しています。一般的には、ステートメントの最後にセミコロンを置くだけです。関数定義の後のように、それらが必要ない場所がいくつかありますが、関数の後に追加したとしても、何も破壊されません。セミコロンが属しているかどうか混乱している場合は、試してみてください。また、3wschoolsの代わりにjavascriptを学ぶためにMDNのウェブサイトを使用することを検討してください。 w3sは無意味な記述と例を与える傾向があります。 –

+0

SOのドキュメントへのリンクを回答として投稿するのが適切かどうかわかりませんが、[自動セミコロン挿入]に関する記事があります(http://stackoverflow.com/documentation/javascript/4363/automatic-semicolon -insertion-asi#t = 201608031320000905945) – BSMP

+0

Pamblamによると、w3スクールには疑問があります。 –

答えて

1

複雑な文が{}内部(「シンプル」)一連の文です。

だから、あなたは(簡単な文を)書きたい:

a = 3; 

をして

{ 
    a = 3; 
    b = 4; 
} 

なく

(複雑な文は、多くの言語で複合文と呼ばれる、JavaScriptでBLOCKと呼ばれます)
{ 
    a = 3; 
    b = 4; 
}; 
+1

ES 6以降、矢印関数を定義した後に ';'を省略すると構文エラーです。 –

+1

実際には、標準用語である**ブロック**と呼ばれています。 「複合ステートメント」は他のプログラミング言語でも使用されていますが、JS仕様にはありません。 –

+0

@JaredSmithあなたが何を意味するのか分かりません。あなたは、矢印関数の簡潔なボディ形式を指していますか?これはステートメントではなく、むしろ**式**です。 –

0

複雑なステートメントは、if,forwhileなど

if(condition){ 

} //no semicolon 

シンプルな声明:

var x = 2; 
+1

複雑なステートメント(JSでは使用されていない、間違って混乱する用語です)は、必ずしも必要なものではありません。それはそれだけですべて座ることができます。 –

関連する問題