JavaScript_基礎文法

変数

変数の宣言

varで宣言します。JavaScriptでは、変数宣言時に型は定義できません。

数値用として宣言した変数に対して、途中から文字列を代入することも可能なので注意が必要です。


var num = 1;
num = "one"; // oneに書き換わる

変数のデータ型を調べるには「typeof」演算子を用います。


var num = 1;
console.log(typeof num)  // number
num = "one";
console.log(typeof num)  // string

数値型:Number

正の数、負の数。小数を扱います。


var num = 1
num = -10
num = 12.25

文字列型:String

文字列はシングルクオート( ' )かダブルクオート ( " )で囲みます。

両者は全く等価であり、どちらの場合でも「\t」や「\n」などの特殊文字を利用することができます。

他のスクリプト系言語にある,変数展開などの便利な機能はありません。


var str = "\tJavaScript\n";
var msg = '\tJavaScript\n';

真偽値型(boolean)

真性を表すtrueと虚偽を表すfalseがあります。


var onSubmit = false;
onSubmit =true;

配列

配列の宣言は以下の3種類があります。


var ary1 = [1, 2, 3];          //  [1, 2, 3]
var ary2 = new Array(3);       //  [undefined, undefined, undefined]
var ary3 = new Array(3, 4, 5); //  [3, 4, 5]

配列参照はインデックスの0からとなります。


console.log(ary1[0]); //  1
ary1[1] = 4           //  [1, 4, 3]

オブジェクト

JavaScriptでは,オブジェクトを連想配列のように扱うことができます。

JSON はこの表記法を基にしています。


var a = {a: 123, b: "message"};
a['a'];           // 要素の参照:123
a.b;              // 要素の参照:message
a['c'] = 456;     // 要素の追加
a.d = "message2"; // 要素の追加

比較演算子

比較

大小の比較は一般的な言語と同様の記述方法です。


a < b   // a は b よりも小さい
a <= b  // a は b よりも小さいか等しい
a > b   // a は b よりも大きい
a > b   // a は b よりも大きいか等しい

同値演算子

JavaScriptの同値演算子には「==」、「!=」に加えて「===」、「!==」があります。

両者の違いは比較する際に型変換を行うか否かです。

「===」は型変換を行わずに比較しますので、単純な文字列同士を比較する場合にはこちらを用います。


// 型が同じ場合
var a = 'abc';
var b = 'abc';
a == b;      // true
a === b;     // true

// 型が異なる場合
var c = "1";
var d = 1;
c == d;      // true
c === d      // false

オブジェクト比較

オブジェクトに対する比較も用意されています。


a in b           // aがbオブジェクトのプロパティ名かどうか
a instanceof b   // オブジェクトaがbクラスのインスタンスかどうか

制御構文

if

if中の文が1つだけの場合は 波括弧を省略することができます。

ただし、JavaScriptは動作がブラウザ依存ですので非推奨の書き方です。


if (hour >= 23) {
    return;
} else if (hour == 12) {
    min -= 30;
} else {
    sec += 1;
}

switch

switch文は「break;」を記述しないとフォールスルーします。


var mode = 3;
switch (a) {
case 0: alert('zero'); break;
case 1: alert('one'); break;
case 2: // fall through
case 3: alert('two or three'); break;
default: alert('many!'); break;
}

while


var num = 10;
while (num <= 0) {
  num--;
}

for

for文内で一時的な変数宣言することが可能です。


for (var i = 0; i < 5; i++) {
}

ブラウザによっては、「for in」文や「for each文」がサポートされています。


var obj = {a: 1, b: 2};
for each (var v in obj) {
  alert(v);      // => 1, 2
}

例外処理

例外処理としてtry-catch-finallyが用意されています。

throwを呼び出すと実行中の関数は即座に停止されます。


try {
  throw new Error("throw error!!");
} catch(e) {
  alert("catch!! : " + e.message);
} finally {
  alert("finally!!");
}

Errorオブジェクト

Errorのインスタンスにはmessageというプロパティがあり、これがエラーメッセージを表します。


var err = new Error();
err.message = "エラーが発生しました。";
throw err;
       

関連ページ