JavaScript - 宣言文

宣言文

宣言文は、変数の宣言と関数の定義があります。変数の宣言は var 文、let 文、const 文があり、関数の定義は function 文があります。

これらの宣言文は、プログラムのほかの場所で使えるように「変数名」や「関数名」の識別子を定義します。定義された識別子には、値を代入できるようになります。

var 文

1 つ、または複数の変数を明示的に宣言するときに var 文を使用します。複数の変数を宣言する場合は、カンマで区切って記述します。

var i;
var j = 0;

var p, q;
var x = 2.34, y = Math.cos(0.75);

var f = function(x){ return x*x }, y = f(x);

var 文は同じ名前の変数を再定義できます。これは意図せずに同じ変数名で定義してもエラーとならずに、値を上書きしてしまうため注意が必要です。

// 変数 x を定義する
var x = 1;
// 変数 x を再定義
var x = 2;
// 変数 x は 2 になる

let 文

1 つ、または複数の変数を明示的に宣言するときに let 文を使用します。複数の変数を宣言する場合は、カンマで区切って記述します。

let count1, count2, count3;

let 文は、値の再代入が可能な変数を宣言できます。letconst とは異なり、初期値を指定しない変数も定義できます。初期値が指定されなかった変数はデフォルト値として undefined という値で初期化されます。同じ名前の変数を再定義しようとすると SyntaxError が発生します。

let count = 0;
count = 1;
count = 2;
count = 3;

let count; // SyntaxError

const 文

1 つ、または複数の変数を明示的に宣言するときに const 文を使用します。複数の変数を宣言する場合は、カンマで区切って記述します。

const x = 10, y = 20;

const 文では、再定義も再代入もできない変数の宣言と、値 (定数) を定義できます。同じ名前の変数を再定義したり、再代入しようとすると SyntaxError が発生します。

const pi = 3.14;

pi = 3;      // SyntaxError
const pi = 3 // SyntaxError

function 文

関数宣言文の文形式でも関数は定義できます。関数宣言文でも function キーワードを使って、関数を定義します。関数宣言文には関数名が含まれる点において関数定義式と異なります。

var f = function(x) { return x+1; } // 関数定義式。
function f(x) { return x+1; }       // 関数宣言文。

ただし、関数宣言文と関数定義式で異なる点としてホスティングがあります。関数宣言文はコード解析時に関数が登録されるため定義記述前の呼び出しが可能ですが、関数定義式では実行時に関数登録されるためにエラーとなります。

console.log(bar(2, 3)); // 6
function bar(x, y) { return x * y; };

console.log(foo(4, 5)); // undefined is not a function
var foo = function(x, y) { return x * y; };

関連記事

JavaScript のまとめページはプログラミング JavaScript 入門を参照してください。

Category:
プログラミング
公開日:
更新日:
Pageviews:
41
Shares:
0
Tag:
JavaScript