Ext JSやRapid Driveなど
システム開発の技術情報をご紹介。

お問い合わせ 資料請求 無料見積り

お電話でお気軽にお問い合わせくださいTel 03-6805-2904 営業時間 [平日]AM 9:30 - PM 6:30

モダンJavaScript

モダンJavaScriptについて

new演算子

new演算子は新たにオブジェクトを生成するための機能です。また、コンストラクタは引数を持つことが出来ます。

var x = new Object();
var y = new Person(’foo’);
var z = new Array();

ここで、new演算子を使用して、オブジェクトを生成できるのは、関数です。つまり、関数の処理自体がコンストラクタの役目を担います。

function myFunc( msg ) {
alert( msg );
}

var obj = new myFunc( ‘hello’ );

カンマ演算子

カンマ演算子を使用すると、一度に複数の変数を宣言することができます。

var myObj = {}, myVar, myAry = [];

delete演算子

delete演算子を使用すると、オブジェクトから対象のものを削除することができます。

var obj = {

one: 1,

two: 2,

three: 3
};

alert( obj.one );

delete obj.one;

alert( obj.one );

ifステートメント

if文は、式がtrueの場合に中の処理を実行します。

if(true) {
// 処理
}

上記の場合だと、式はtrueになります。trueはtrueなので処理が実行されます。

式には、先ほど登場した比較演算子、論理演算子が利用できます。

var i= 0
if( i == 5 ) {

// 処理

}

if( i == 5 || i == 0 ) {

// 処理

}

一つ目のif文は、iが5であれば処理が実行されます。比較演算子ですね。

二つ目のif文には論理演算子||が設定されていて、iが5または0の場合に処理が実行されます。

var i = 2;
if ( i == 5 ) {

// 処理1
} else {

// 処理2
}

次の場合、iは2ですので、elseの中が実行されます。else文を使うと、ifで判定結果がtrueにならなかった処理を記述することができます。

さらに、else if文を使うと、if文での条件分岐を複数設定することができます。

var i = 5;
if (i==2) {
// 処理1
} else if (i==5) {
// 処理2
} else {
// 処理3
}}

上記の例だと、iは5ですので処理2が実行されます。

forステートメント

for文を使用すると繰り返し処理が実行できます。

for (var i=0; i<10; i++) {

// 処理
}

上記の例では、10回の繰り返しを行うため、処理は10回行われます。

for文の構造は;(セミコロン)で区切られ、3つのセクションはそれぞれ次の処理が行われます。

  • 初期化
  • 評価
  • 繰り返し後処理

初期化は、繰り返し処理が行われる最初に1度だけ実行されます。次に、式の評価が行われます。上記の例だとiが10より小さい値であるか?を判定します。この条件式がtrueの間繰り返し処理を行います。最後に、for文の中の処理が行われたあと、繰り返し後処理が行われます。

つまり、iが10になったあと評価が行われると、結果はfalseになるため、繰り返し処理から抜け出します。

また、for文は、for~inという形で記述することができます。

var obj = {one:1,two:2,three:3};
for ( prop in obj) {
alert( prop + ‘=’+ obj[ prop ] );
}

for~inは、上記のようにオブジェクトの内要素の数だけ繰り返す場合に使用します。inで区切られた最初にプロパティ名を格納する変数名を設定します。後ろには、走査するオブジェクトを設定します。

つまり、objにはone,two,threeという名前のプロパティにそれぞれ値が設定されています。なので、一つずつ繰り返されるたびにpropにはプロパティ名(one,two,three)が格納されます。propは変数なので、.(ドット)でオブジェクトを参照できないため、ブランケットを利用して値を参照します。

switchステートメント

switch文は、条件により処理を分岐させることができます。if~else if文に似ていますが、breakの使い方によっては、if~else ifでは表現できない記述も行うことができます。

var e = 11;
switch (e) {
case 10:
// 処理1
break;
case 11:
// 処理2
break;
default:
// デフォルト処理
}

eの値によりそれぞれの処理をcaseキーワードで定義します。eの値が、どのケースにも相当しない場合は、defaultで定義されている処理が実行されます。

breakキーワードを記述することで、switch文を抜け出します。記述しない場合は、次のcase文も実行します。

var e = 10;
switch (e) {

case 10:

// 処理1

case 11:

// 処理2

break;

default:

// デフォルト処理
}

上記の場合、case 10:が処理されたあと、breakが無いため、そのままcase 11の処理が実行されます。