JavaScriptの構文とは、JavaScriptプログラムが構築されるルールのセットです:
// 変数の作成方法:
var x;
let y;
// 変数の使用方法:
x = 5;
y = 6;
let z = x + y;
JavaScriptの構文では、2種類の値が定義されています:
固定値はリテラルと呼ばれます。
変数値は変数と呼ばれます。
固定値のための最も重要な構文ルールは次の通りです:
10.50
1001
"John Doe"
'John Doe'
プログラミング言語では、変数はデータ値を格納するために使用されます。
JavaScriptでは、変数を宣言するためにキーワード var、let、const を使用します。
等号は変数に値を割り当てるために使用されます。
let x;
x = 6;
JavaScriptは算術演算子( + – * / )を使用して値を計算します:
(5 + 6) * 10
JavaScriptは代入演算子( = )を使用して変数に値を割り当てます:
let x, y;
x = 5;
y = 6;
式は値、変数、演算子の組み合わせで、値に計算されます。
計算自体は評価と呼ばれます。
5 * 10
x * 10
値は数値や文字列など、さまざまなタイプであることができます。
"John" + " " + "Doe"
JavaScriptのキーワードは実行するアクションを識別するために使用されます。
letキーワードはブラウザに変数を作成するよう指示します:
let x, y;
x = 5 + 6;
y = x * 10;
varキーワードもブラウザに変数を作成するよう指示します:
var x, y;
x = 5 + 6;
y = x * 10;
これらの例では、varまたはletを使用しても同じ結果が得られます。
varとletについてはこのチュートリアルの後で詳しく学びます。
すべてのJavaScript文が「実行」されるわけではありません。
二重スラッシュ // または /* と */ の間にあるコードはコメントとして扱われます。
コメントは無視され、実行されません:
let x = 5; // 実行されます
// x = 6; 実行されません
コメントについては後の章でさらに学びます。
識別子はJavaScriptの名前です。
識別子は変数、キーワード、および関数の名前を付けるために使用されます。
有効な名前のルールはほとんどのプログラミング言語で同じです。
JavaScriptの名前は次の文字で始まる必要があります:
後続の文字は文字、数字、アンダースコア、またはドル記号であることができます。
Note: 数字は名前の最初の文字として使用することはできません。
このようにしてJavaScriptは識別子を数値から簡単に区別することができます。
すべてのJavaScriptの識別子は大文字と小文字を区別します。
lastNameとlastnameは2つの異なる変数です:
let lastname, lastName;
lastName = "Doe";
lastname = "Peterson";
JavaScriptはLETやLetをキーワードletとして解釈しません。
歴史的に、プログラマーは複数の単語を1つの変数名に結合するために異なる方法を使用してきました:
JavaScriptのプログラマーは通常、小文字から始まるキャメルケースを使用します:
firstName, lastName, masterCard, interCity
JavaScriptはUnicode文字セットを使用しています。
Unicodeは世界中のほとんどの文字、句読点、および記号をカバーしています。
詳細については、完全なUnicodeリファレンスを参照してください。
let x, y, z; // 文1
x = 5; // 文2
y = 6; // 文3
z = x + y; // 文4
コンピュータプログラムはコンピュータによって「実行」される「命令」のリストです。
プログラミング言語では、これらのプログラム命令を文と呼びます。
JavaScriptプログラムはプログラム文のリストです。
HTMLでは、JavaScriptプログラムはウェブブラウザによって実行されます。
JavaScriptの文は次の要素で構成されています:
この文は、ブラウザに対してid=”demo”のHTML要素に「Hello Dolly.」と書き込むよう指示します:
document.getElementById("demo").innerHTML = "Hello Dolly.";
ほとんどのJavaScriptプログラムには多くのJavaScript文が含まれています。
これらの文は書かれた順に1つずつ実行されます。
JavaScriptプログラム(およびJavaScript文)はしばしばJavaScriptコードと呼ばれます。
セミコロンはJavaScript文を区切ります。
実行可能な各文の最後にセミコロンを追加してください:
let a, b, c; // 3つの変数を宣言
a = 5; // aに値5を代入
b = 6; // bに値6を代入
c = a + b; // aとbの合計をcに代入
セミコロンで区切られた複数の文を1行にまとめることもできます:
a = 5; b = 6; c = a + b;
ウェブ上では、セミコロンを省略した例も見かけるかもしれません。
文の最後にセミコロンをつけるのは必須ではありませんが、強く推奨されます。
JavaScriptは複数のスペースを無視します。スクリプトをより読みやすくするために空白を追加することができます。
次の行は等価です:
let person = "Hege";
let person="Hege";
良い習慣としては、演算子(= + – * /)の周りにスペースを置くことです:
let x = y + z;
最良の読みやすさのために、プログラマーは通常、80文字を超えるコード行を避ける傾向があります。
JavaScript文が1行に収まらない場合、最適な改行位置は演算子の後です:
document.getElementById("demo").innerHTML =
"Hello Dolly!";
JavaScriptの文は中括弧 {…} 内のコードブロックにグループ化することができます。
コードブロックの目的は、一緒に実行する文を定義することです。
文が関数内でグループ化されるブロックの例として、以下があります:
function myFunction() {
document.getElementById("demo1").innerHTML = "Hello Dolly!";
document.getElementById("demo2").innerHTML = "How are you?";
}
このチュートリアルでは、コードブロックにはインデントにスペース2つを使用します。
関数については後のチュートリアルで詳しく学びます。
JavaScriptの文は、通常、実行するJavaScriptアクションを識別するキーワードで始まります。
「予約語リファレンス」にはすべてのJavaScriptキーワードがリストされています。
このチュートリアルで学ぶいくつかのキーワードのリストを以下に示します:
キーワード | 説明 |
---|---|
var | 変数を宣言する |
let | ブロックスコープの変数を宣言する |
const | ブロックスコープの定数を宣言する |
if | 条件に基づいて実行する文のブロックをマークする |
switch | 異なるケースで実行する文のブロックをマークする |
for | ループで実行する文のブロックをマークする |
function | 関数を宣言する |
return | 関数から退出する |
try | エラーハンドリングを実装する |
JavaScriptのキーワードは予約語です。予約語は変数の名前として使用できません。
JavaScriptはさまざまな方法でデータを「表示」できます:
HTML要素にアクセスするには、JavaScriptはdocument.getElementById(id)メソッドを使用できます。
id属性はHTML要素を定義し、innerHTMLプロパティはHTMLコンテンツを定義します:
<!DOCTYPE html>
<html>
<body>
<h1>私の最初のウェブページ</h1>
<p>最初の段落</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 5 + 6;
</script>
</body>
</html>
HTML要素のinnerHTMLプロパティを変更することは、HTMLでデータを表示する一般的な方法です。
テスト目的であれば、document.write()を使用するのが便利です:
<!DOCTYPE html>
<html>
<body>
<h1>私の最初のウェブページ</h1>
<p>最初の段落</p>
<script>
document.write(5 + 6);
</script>
</body>
</html>
HTMLドキュメントの読み込み後にdocument.write()を使用すると、既存のHTMLがすべて削除されます:
<!DOCTYPE html>
<html>
<body>
<h1>私の最初のウェブページ</h1>
<p>最初の段落</p>
<button type="button" onclick="document.write(5 + 6)">試してみる</button>
</body>
</html>
document.write()メソッドはテスト目的のみに使用すべきです。
<script>
タグHTMLでは、JavaScriptコードは<script>
タグと</script>
タグの間に挿入されます。
以下の例では、idが”demo”のHTML要素を見つけて、その要素の内容(innerHTML)を”My First JavaScript”に変更します。
<script>
document.getElementById("demo").innerHTML = "My First JavaScript";
</script>
古いJavaScriptの例では、type
属性を使用することがあります:<script type="text/javascript">
。
type
属性は必須ではありません。JavaScriptはHTMLのデフォルトのスクリプト言語です。
JavaScriptの関数はJavaScriptコードのブロックであり、”呼び出される”と実行されることがあります。
たとえば、ユーザーがボタンをクリックしたときなどのイベントが発生したときに関数が呼び出されることがあります。
関数とイベントについては後の章で詳しく学びます。
<head>
または<body>
内のJavaScriptHTML文書には任意の数のスクリプトを配置できます。
スクリプトはHTMLページの<body>
内、または<head>
セクション内、あるいは両方に配置できます。
<head>
内のJavaScriptこの例では、JavaScript関数がHTMLページの<head>
セクションに配置されています。
この関数はボタンがクリックされたときに呼び出されます:
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "Paragraph changed.";
}
</script>
</head>
<body>
<h2>ヘッド内のJavaScriptデモ</h2>
<p id="demo">段落</p>
<button type="button" onclick="myFunction()">試してみる</button>
</body>
</html>
<body>
内のJavaScriptこの例では、JavaScript関数がHTMLページの<body>
セクションに配置されています。
この関数はボタンがクリックされたときに呼び出されます:
<!DOCTYPE html>
<html>
<body>
<h2>ボディ内のJavaScriptデモ</h2>
<p id="demo">段落</p>
<button type="button" onclick="myFunction()">試してみる</button>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "Paragraph changed.";
}
</script>
</body>
</html>
<body>
要素の最下部にスクリプトを配置すると、表示速度が向上します。スクリプトの解釈が表示を遅くするためです。
スクリプトは外部ファイルにも配置できます:
外部ファイル:myScript.js
<script src="myScript.js"></script>
同じコードを多くの異なるWebページで使用する場合、外部スクリプトは実用的です。
JavaScriptファイルの拡張子は.js
です。
外部スクリプトを使用するには、<script>
タグのsrc
(ソース)属性にスクリプトファイルの名前を記述します。
スクリプトを外部ファイルに配置することにはいくつかの利点があります:
1つのページに複数のスクリプトファイルを追加するには、複数の<script>
タグを使用します:
<script src="myScript1.js"></script>
<script src="myScript2.js"></script>
外部スクリプトは3つの異なる方法で参照できます:
完全なURL(完全なWebアドレス)を使用して
ファイルパス(例:/js/)を使用して
パスを使用しない
この例では、myScript.js
へのリンクに完全なURLを使用しています:
<script src="https://www.w3schools.com/js/myScript.js"></script>
この例では、myScript.js
へのリンクにファイルパスを使用しています:
<script src="/js/myScript.js"></script>
この例では、myScript.js
へのリンクにパスを使用していません:
<script src="myScript.js"></script>
JavaScriptの多くのHTMLメソッドの1つにgetElementById()
があります。
以下の例では、idが”demo”のHTML要素を”見つけて”、その要素の内容(innerHTML)を”Hello JavaScript”に変更します。
document.getElementById("demo").innerHTML = "Hello JavaScript";
JavaScriptはダブルクォートとシングルクォートの両方を受け入れます:
document.getElementById('demo').innerHTML = 'Hello JavaScript';
HTML要素のスタイルを変更するには、HTML属性を変更する方法の一つです:
document.getElementById("demo").style.fontSize = "35px";
HTML要素を非表示にするには、表示スタイルを変更します:
document.getElementById("demo").style.display = "none";
非表示にされたHTML要素を表示するには、表示スタイルを変更します:
document.getElementById("demo").style.display = "block";
JavaScriptとJavaはコンセプトとデザインの両面で完全に異なる言語です。
JavaScriptは1995年にBrendan Eichによって発明され、1997年にECMA標準になりました。
ECMA-262が公式な標準の名前です。ECMAScriptが言語の公式名です。
JavaScriptは世界で最も人気のあるプログラミング言語です。
JavaScriptはWebのプログラミング言語です。
JavaScriptは学びやすい言語です。
このチュートリアルでは、基本から上級までJavaScriptを学びます。
JavaScriptは全てのWeb開発者が学ぶ必要のある3つの言語のうちの1つです:
JavaScriptはどうやって取得するのですか?
JavaScriptを取得したりダウンロードする必要はありません。
JavaScriptをどこでダウンロードできますか?
JavaScriptはすでにあなたのブラウザ、コンピュータ、タブレット、スマートフォンで実行されています。
JavaScriptは無料ですか?
JavaScriptは全ての人に無料で利用可能です。