javascriptにおける式と文の違いについてですが、式がリテラルの数字や、演算式、関数などの値を生み出せるもの、変数に必ず代入できるものであると認識しております。
一方、文は、forやifなどの条件によって処理を行うもの、セミコロンを付けなくてよいブロック、と認識しております。
ここで三つ質問があります。
①
ブロック文には、;を付けなくてもよいはずですが、たまに;がついているときがあります。
そのようなソースには、何か意味があって付けているのでしょうか。
②
式と文の定義について書き連ねましたが、ソースを見て、これって式だっけ?文だっけ?となったときは、どのようにして選定すべきでしょうか。
③
文の一部のみに;を付けますが、その"一部"の全てを記した書籍、或いはネット上の文献などはありますか。たびたび、javascriptの書籍を参考にすることがあるのですが、そのなかにセミコロンをつけるべきものを"一部"の文であると記述してあるものがあったのですが、その一部の文には、何が含まれているのかできるだけすべて知りたいのです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
考え方は4つ
・つけなければいけない
・つけてもいい
・つけなくてもいい
・つけてはいけない
真ん中の2つについては、文の終わりを論理的に明示したいかどうかです
No.2
- 回答日時:
以下、役に立つかもしれない情報。
まず本題に入る前に前座から。
XMLの基礎知識がある場合はまず、以下の説明を読んでおくといいでしょう。
http://www.atmarkit.co.jp/fxml/ddd/ddd004/ddd004 …
この説明では::=や|を使っていますが、場所によっては違う記号を使うこともあります。
例えばRFC5322
https://www.ietf.org/rfc/rfc5322.txt
では以下のように =や/ になっています。
specials = "(" / ")" / ; Special characters that do
"<" / ">" / ; not appear in atext
"[" / "]" /
":" / ";" /
"@" / "\" /
"," / "." /
DQUOTE
ところで私が見たある説明の一部では
BlockStatement : Block
Block :'{' StatementList '}'
StatementList : ( StatementListItem StatementList ) | StatementListItem
StatementListItem : Statement | Declaration
という感じのものが存在していました。
StatementListを見てください。あ、'('ではなく(なので、'('という文字は登場しませんよ。'{'という文字はBlockに登場するけど。
これようするに
StatementListItem StatementList
→ StatementListItem StatementListItem StatementList
→ StatementListItem StatementListItem StatementList
→ StatementListItem StatementListItem StatementListItem StatementList
と増やしていくことができ、 どこかで
StatementListItem StatementListItem StatementListItem StatementList
→StatementListItem StatementListItem StatementListItem StatementListItem
という感じで止めることも可能ですね。要するに任意の個数のStatementListItemを連続させたものだということです。
ちなみに元になった説明ではoptなどという記述で、「0個でも良い」としていることもありました。
ここまでの知識を前提に、
https://www.ecma-international.org/publications/ …
の15.1 Scriptsにある
Script : ScriptBody[opt]
のScriptやScriptBodyはクリックできるようになっていますからStatementあたりまで追ってみると面白いかもしれません。
あ、太字で書いてあるのは何かを考えてくださいね、一応。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 条件付き書式について 1 2022/12/14 20:38
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 10:07
- 発達障害・ダウン症・自閉症 【画像あり】中3の受験期に解けなかった問題について。n,n+1,n+2,n+3…という文字式の証明と 1 2022/08/04 15:48
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- 日本語 自立語/付属語という品詞区分の誤り 5 2022/09/05 00:20
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
- Java Java 南京錠 2 2023/02/04 11:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptプログラムを日本時...
-
Vba SelStart、SelLen教えてく...
-
正整数の半角数字かどうか判定する
-
「終了していない文字列型の定...
-
初心者です。gulpでコンパイル...
-
javascript:void(0)とは何でし...
-
表示ページによって、aタグ内の...
-
ASPでエクセルの起動
-
VC#でテキストボックスに変数の...
-
C#でボタン名を変更しても動く
-
JavascriptでのExcel起動について
-
現在日付を初期値にするには
-
正規表現について
-
階層化されたメニューの作り方
-
Access VBAで、数字だけをチェ...
-
クロスドメインでクッキーの取得
-
c言語で「文字列(最大80文字)お...
-
ネットスケープでJavaScriptの...
-
JSでファイル数取得
-
javascriptの効かないサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【JavaScript】ソースのコメン...
-
WebページまたはHTMLソースから...
-
コメント削除/圧縮/難読化
-
変換テーブルを使った、文字列...
-
WSH をC#で作ることは可能でし...
-
六曜カレンダー
-
リアルタイム時計をミリ秒まで...
-
javascriptでexcel閉じる
-
リロードしないと正常に表示さ...
-
文字列圧縮_
-
Java Script を.jsファイルを利...
-
PHPでエスケープされた文字列を...
-
javascriptで文字コード変更
-
拡大スクリプト・zoom_ブック...
-
if(1){...}とはどういうことで...
-
Vba SelStart、SelLen教えてく...
-
JavaScriptで ブラウザの閉じる...
-
ブラウザ自体の事じゃなくてJav...
-
VB.NET2003 テキストボックスに...
-
JSPの処理の途中で、JavaScript...
おすすめ情報