====== JavaScript 記述方法の基本 ======
--- //[[http://www.y2sunlight.com/water|y2sunlight]] 2020-10-13//
===== Hello World =====
どんな言語でも最初は **''Hello, World!''** から始めて下さい。
\\
===== スクリプトの記述場所 =====
html内にJavaScriptを記述する場合、以下の場所が推奨されます。
- body要素の一番最後
- head要素の中(関数定義)
JavaScriptの実行コードをbody要素の一番最後に置くことで、ページの描画が終わった直後にスクリプトを実行することができます。これによって見た目の描画速度が改善されます。但し、関数定義はhead要素の中に記述することが推奨されています。
・・・
\\
==== スクリプトを別ファイルに保存 ====
スクリプトのコードをhtml内に記述するのではなく、外部ファイルとして保存し、それを呼び出すことも可能です。
別ファイルに保存することで、htmlで記述したページレイアウトとJavaScriptを分離することができるので、コードの再利用やhtmlの見易さの観点からこちらの方が優れた方法だと言えます。
\\
==== JavaScript疑似プロトコル ====
一般的にJavaScriptは ''script'' 要素の中に記述しますが、''a'' 要素の ''href'' 属性の中に記述することもできます。
Hello, World!
このような記法をJavaScript疑似プロトコルと呼びます。
\\
===== 文のルール =====
=== 大文字と小文字を区別する ===
JavaScriptでは、キーワード、変数名及び関数名は大文字と小文字を区別します。尚、HTMLでは大文字と小文字を区別しません。HTMLとJavaScriptは同じファイルで使用される機会があるので注意して下さい。
=== 空白文字と改行文字を無視する ===
プログラム内のキーワード、変数名または関数名などのように、空白文字(スペース、タブ)や改行文字を含まない字句の単位の事をトークンと呼びます。トークンの中で空白文字や改行文字を挿入すると、トークンはそこで分割されてしまいます。
JavaScriptは、他の言語と同様に、トークンを区切る空白文字及び改行文字を無視します。それらは、インデントなどのようにプログラムを見易くするために、使用することが出来ます。
=== 文はセミコロン( ; )で終わる ===
JavaScriptの文は、C/C++、PHP、Javaなどと同様に、セミコロンで終わることが出来ます。また、JavaScriptでは2つの文が別の行に分かれて記述されていれば、改行によって文を自動的に終了することも出来ます。
a = 1; // 文を;で終了する(推奨)
b = 1;
a = 1 // 改行によって、文は自動的に終了できる
b = 1
しかし、改行による文の終了は、意図しない結果をもたらすことがあるので、セミコロンの省略は推奨できません。以下の例は ''return true'' を意識したコーディングですが、実際は ''return'' のみが実行されてしまいます。
return
true;
\\
===== コメント =====
JavaScriptの文は、C/C++、PHP、Javaなどと同様に、単一行コメントとブロックコメントが書くことが出来ます。
// 単一行コメント
/* ブロックコメント */
単一行コメントは ''//'' から行末までのテキストをコメントと見なします。また、ブロックコメントは ''/*'' から始まり ''*/'' で終わるまでをコメントと見なします。ブロックコメントは、複数行にまたがることが出来ますが、入れ子にすることは出来ません。
ドキュメンテーションは関数や変数の宣言の直前に記述します。''/**'' から始まり ''*/'' で終わります。
/**
* ドキュメンテーション
*/
\\
===== リテラル =====
リテラルとはプログラムに記述するデータ値のことです。以下の簡単な例を示します。
123 // 整数
1.23 // 実数
'Suzuki Taro' // 文字列
true // 真偽値
null // null値
[1, 2, 3] // 配列
{name:'Taro', age:15} // オブジェクト
\\
===== 識別子 =====
識別子とは、変数名、関数名などの名前のことです。識別子で使える文字は、以下のものがあります。
* 英字
* 数字
* アンダーバー( ''_'' )
* ドル記号( ''$'' )
但し、先頭の文字に数字を使うことはできません。また、次に挙げる予約語(キーワード)を使用することはできません。
==== 識別子の命名規則 ====
以下にJavaScript言語で一般的によく使われる識別子の命名規則を挙げておきます。
* 変数/関数 ・・・ [[https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%A1%E3%83%AB%E3%82%B1%E3%83%BC%E3%82%B9|camelCase]]
* クラス ・・・ [[https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%A1%E3%83%AB%E3%82%B1%E3%83%BC%E3%82%B9|PascalCase]]
* 定数 ・・・ LARGE_SNAKE_CASE
\\
===== 予約語 =====
JavaScriptの予約語(キーワード)については、以下を参照して下さい。
* [[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Lexical_grammar#keywords|MDN 字句文法 キーワード]]
\\