Microsoft® JScript
組み込みオブジェクト
 チュートリアル  


Microsoft JScript には、Array オブジェクト、String オブジェクト、Math オブジェクト、および Date オブジェクトの 4 つの組み込みオブジェクトが用意されています。これらの組み込みオブジェクトには、それぞれ専用のメソッドやプロパティがあります。詳細については、チュートリアルを参照してください。

Array オブジェクト
JScript では、オブジェクトは配列としても扱われ、配列はオブジェクトとしても扱われます。配列の添字 (オブジェクトではプロパティがこれに相当します) は、数字で表されます (ただし、名前が割り当てられている場合は、名前で表されます)。新しい配列を作成するには、次の例に示すように、new ステートメントと Array() コンストラクタを使用します。

var theMonths = new Array(12)  {
theMonths[0] = "Jan";
theMonths[1] = "Feb";
theMonths[2] = "Mar";
theMonths[3] = "Apr";
theMonths[4] = "May";
theMonths[5] = "Jun";
theMonths[6] = "Jul";
theMonths[7] = "Aug";
theMonths[8] = "Sep";
theMonths[9] = "Oct";
theMonths[10] = "Nov";
theMonths[11] = "Dec";
}
Array キーワードを使って配列を作成すると、作成した配列には、length というプロパティが追加されます。このプロパティには、配列内の要素の数が格納されます。Array() コンストラクタで数を指定しなかった場合は、length プロパティは 0 に設定され、配列には 1 つも要素が入れられません。配列要素の数を指定すると、length プロパティにその値が設定されます。また、2 つ以上の引数を指定した場合は、各引数は配列内の要素とされ、指定した引数の数が length プロパティに設定されます。たとえば、次のように記述すると、前出の例とまったく同じ処理が行われます。

var theMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
Array キーワードを使って作成した配列に要素を追加すると、自動的に length プロパティの値が更新されます。

String オブジェクト
JScript では、文字列はオブジェクトとして扱われます。つまり、文字列変数を宣言したり、文字列リテラルを使用したりすると、実際の処理では必ず新しい文字列オブジェクトが作成されることになります。String オブジェクトには、文字列操作を行うための組み込みメソッドがいくつか用意されています。この中の 1 つに、文字列の一部分だけを返す substring というメソッドがあります。このメソッドは、引数に 2 つの数値を指定して使用します。

aString = "0123456789";
var aChunk = aString.substring(4, 7);  // aChunk  に "456" を格納します。
var aNotherChunk = aString.substring(7, 4);  // aNotherChunk に "456" を格納します。

// Array オブジェクトの例で作成した配列を使います。
firstLetter = theMonths [5].substring(0,1);  // 変数 firstLetter に "J" を格納します。
string オブジェクトには、このほかに length というプロパティもあります。このプロパティには、文字列の文字数が格納されます。空の文字列では、length プロパティは 0 です。このプロパティの値は数値なので、数値演算に直接使うことができます。

var howLong = "Hello World".length  // 変数 howLong に 11 を格納します。
Math オブジェクト
Math オブジェクトには、多くのプロパティとメソッドが用意されています。このオブジェクトのプロパティとメソッドは、すべて定義済みで、プロパティには特定の数値が格納されています。たとえば、Math.PI プロパティには円周率 (約 3.14159...) が格納されています。このプロパティを使った例を次に示します

// 変数 radius は、既に宣言され、数値が代入されているものとします。
var circleArea = Math.PI * radius * radius;  // Math と PI の大文字小文字の組み合わせに注意してください。
Math オブジェクトの組み込みメソッドには、たとえば、累乗を求める pow メソッドがあります。このメソッドは、指定された指数を使って数値の累乗を算出します。累乗を求めるメソッドと円周率を組み合わせて使用した例を次に示します。

// この式からは、与えられた半径を持つ球の体積が算出されます。
volume = (4/3)*(Math.PI*Math.pow(radius,3));
Date オブジェクト
Date オブジェクトを使用すると、現在の日付を取得したり、2 つの日付の間の日数や時間を計算したりできます。このオブジェクトには、多くの定義済みのプロパティやメソッドが用意されています。Date オブジェクトを使用すると、曜日、年月日、および秒を含む時刻を取得できます。

このオブジェクトに格納されている情報は、1970 年 1 月 1 日 00:00:00.000 GMT からのミリ秒単位での経過時間です。GMT はグリニッジ標準時の略号です。世界標準時により発行される時刻を指す UTC (協定世界時) という単位もあります。


  JScript では、時刻は 1970 年 1 月 1 日 00:00:00 より始まり、これ以前の時刻を表す Date オブジェクトを作成することはできません。これ以前の日付や時刻を扱う必要がある場合は、独自にコードを記述して処理する必要があります。


新しい Date オブジェクトを作成するには、new ステートメントを使用します。次に示す例では、現在の年、今年に入ってから経過した日数、および残されている日数を算出しています。

/*
この例では、Array オブジェクトの例で定義した、月の名前の配列を使用しています。
最初のステートメントでは、変数 toDay に今日の日付を代入しています。
日付は、"曜日 月 日 00:00:00 年" という形式で代入されます。
*/

var toDay = new Date();  // 今日の日付を取得します。

// 年、月、および日付を取得します。
var thisYear = toDay.getYear() + 1900;
var thisMonth = theMonths[toDay.getMonth()];
var thisDay = thisMonth  + " " + toDay.getDate() + "," + thisYear;

// 1970 年 1 月 1 日からの日数を求めます。
thisDay = Math.round(Date.parse(thisDay)/8.64e7);

// 1970 年 1 月 1 日から年の始めまでの日数を求めます。
var firstDay = "Jan 1, " + thisYear;
firstDay = Math.floor(Date.parse(firstDay)/8.64e7); 

// うるう年も考慮し、1970 年 1 月 1 日から年の最後の日までの日数も求めます。
var lastDay = "Dec 31, " + thisYear;
lastDay = Math.floor(Date.parse(lastDay)/8.64e7);

// 今年の日数を計算します。
var daysInYear = (lastDay - firstDay) + 1;

// 経過日数、および残っている日数を求めます。
var daysElapsed = thisDay - firstDay;
var daysLeft = daysInYear - daysElapsed; 

// 標準的なメッセージを作ります。
var comment1 = "今年に入ってから " + daysElapsed + " 日が経過しました。";
var comment2 = thisYear + " 年は、あと " + daysLeft + " 日残っています。";

// 特別な場合 (年末年始) のメッセージを作ります。
if (daysElapsed == 0)  {
comment1 = "今日は " + thisYear + " 年元旦です。";
}
if (daysElapsed == 1) {
comment1 = "今年に入ってから、まだ 1 日しか経っていません。";
}
if(daysElapsed == daysInYear) {
comment1 = thisYear + " 年ももう終わりです。";
}

if (daysLeft == 0)  {
comment2 = "それでは、よいお年を!";
}
if (daysLeft == 1)  {
comment2 = thisYear + " 年も残すところあと 1 日です。";
}
if (daysLeft == daysInYear)  {
comment2 = "あけましておめでとうございます。";
}

© 1997 Microsoft Corporation.