トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

JavaScript 組み込みオブジェクト(Number,String,RegExp,Date,Math)



目次



記事一覧

キーワード

JavaScript 組み込みオブジェクト(Number,String,RegExp,Date,Math)

[初めてのJavaScript][JavaScript]


コンストラクタ

  • JavaScriptの各オブジェクトはObjectに源を発している。
  • コンストラクタの概念はあり、new によってインスタンスを作成する。
  • Booleanオブジェクトを除いたすべてのオブジェクトに固有のメソッドとプロパティがある。
  • 静的なメソッド、プロパティもあり、これらは共用のオブジェクトを介してアクセスする。

Numberオブジェクト

  • 固有のメソッドは変換(文字列へ、ロケール、言語や地域、固定小数点表記、指数表記)に関係がある。
  • 定数プロパティが4つあり、Numberオブジェクトから直接アクセスできる。

固有のプロパティ
Number.MAX_VALUE;
Number.MIN_VALUE;
Number.NEGATIVE_INFINITY;
Number.POSITIVE_INFINITY;

固有のメソッド
var newVal = new Number("1.234");
newVal.toExponential(3);
newVal.toPrecision(3);
newVal.toFixed(6);

その他のメソッド
メソッド 内容
toString(n) n進数表現の文字列を返す

その他

数値か否かを調べる

Stringオブジェクト

  • HTMLに関係したメソッドと、そうでないメソッドがある。

メソッド(プロパティ)
valueOf Stringオブジェクトがラップしている文字列リテラルを返す
length 文字列長(プロパティ)
anchor HTMLアンカーを作成
big、blink、bold、italics、small、strike、sub、sup HTMLフォーマットで返す
charAt、charCodeAt 所定位置の文字、文字コードを返す(先頭0)
indexOf 部分文字列が最初に出現する位置
lastIndexOf 部分文字列が最後に出現する位置
link リンクするHTMLを返す
concat 文字列を連結
split 区切り文字でトークンに分割
substring、substr 部分文字列を返す
match、replace、search 正規表現のマッチ、置換、検索
toLowerCase、toUpperCase 小文字、大文字変換

正規表現RegExp

[正規表現]

  • 正規表現オブジェクトは、RegExpオブジェクトを用いて明示的に生成できるが、文字列リテラルを使っても生成できる。

var searchPattern = new RegExp('s+'); // 明示的に生成
var searchPattern = /s+/;             // 文字列リテラルから生成

  • RegExpオブジェクトには独自のメソッドがtestとexecの2つしかない。

testメソッド
  • testは、引数として渡された文字列が正規表現にマッチするかを判断。

var ptn = /cde/;
var str = "abcdefg";
if(ptn.test(str)) alert("match");

  • マッチでは大文字小文字を区別する。無視するようにするには、/i を指定する。

var ptn = /cde/i;  // 大文字小文字を区別しない

  • i以外に、複数の表現にマッチさせるgと、複数行にまたがってマッチさせるmがある
  • RegExpオブジェクトを利用する場合は、2番目の引数としてフラグを渡す。

var ptn = new RegExp('cde', 'g');

execメソッド
  • 以下の例では、フラグgがあるため、execの呼び出しごとに見つかった位置が保存される。
var ptn = /AB*/ig
var str = "abcdefgABCDEFGabcdefg";
var resultAry = ptn.exec(str);
while (resultAry) {
    alert(resultAry[0]);
    resultAry = ptn.exec(str);
}

  • resultAry[1]以降は、グループ"(...)"を利用したときにマッチした部分が入る
var ptn = /^[a-z]+([0-9]+).*/i
var str = "abcdefg1234567ABCDEFG";
var resultAry = ptn.exec(str);
for (var i=0; i<resultAry.length; i++) {
    alert(i + ":" + resultAry[i]);
}
// 0:abcdefg1234567ABCDEFG
// 1:1234567

  • また、RegExpオブジェクトを利用し、RegExp.$1、RegExp.$2のように参照できる。
var ptn = /^[a-z]+([0-9]+).*/i
var str = "abcdefg1234567ABCDEFG";
ptn.exec(str);
alert("1:" + RegExp.$1);
// 1:1234567

Date

コンストラクタ
  • 引数を渡さずに生成した場合、利用しているコンピュータの日付を元に日付が生成される。
var dt = new Date();
alert(dt);
// Sun Jan 20 2008 23:45:56 GMT+0900

  • 文字列から生成することも、
var dt = new Date("Sun Jan 20 2008 23:45:56 GMT+0900");
var dt = new Date(0);
alert(dt);
// Thu Jan 01 1970 09:00:00 GMT+0900

  • 年、月(-1)、日、時、分、秒、ミリ、秒から生成も可能
var dt = new Date(2008,0,20,23,53,10);
alert(dt);
// Sun Jan 20 2008 23:53:10 GMT+0900
日付要素取得/設定メソッド

たいていのgetメソッドには対応するsetメソッドあり
メソッド
getFullYear
getYear
getMonth
getHours
getMinutes
getSeconds
getMilliseconds

UTC用
たいていのgetメソッドには対応するsetメソッドあり
メソッド
getUTCFullYear
getUTCMonth
getUTCHours
getUTCMinutes
getUTCSeconds
getUTCMilliseconds
文字列に変換
メソッド 説明
toString 現地時刻(英語)
toGMTString グリニッジ標準時
toLocaleDateString 現在のロケールを用いた日付
toLocaleTimeString 現在のロケールを用いた時刻
toLocaleString 現在のロケールを用いる
toUTCString UTC標準時を用いる

上から順に実行した例

// Mon Jan 21 2008 00:03:27 GMT+0900
// Sun, 20 Jan 2008 15:04:23 GMT
// 2008年1月21日
// 0:04:53
// 2008年1月21日 0:05:08
// Sun, 20 Jan 2008 15:05:21 GMT

Math

  • 数学的な関数や値を提供する。
  • プロパティとメソッドはすべて静的(static)

プロパティ
プロパティ 説明
E 自然対数の低、eの値
LN10 10の自然対数
LN2 2の自然対数
LOG2E 2を底とするeの対数の値
LOG10E 10を底とするeの対数の値
PI 円周率
SQRT1_2 2の平方根の1/2
SQRT2 2の平方根

メソッド
メソッド 説明
abs 絶対値
ceil 最も近い整数に切り上げ
floor 最も近い整数に切り下げ
round 最も近い整数に四捨五入
exp 自然対数の底eを引数の数値で累乗
pow 数を累乗
min 最小値を返す
max 最大値を返す
random 0以上1未満の乱数を返す

  • 三角関数関連メソッド
メソッド 説明
sin(x)
cos(x)
tan(x)
acos(x)
asin(x)
atan(x)
atan2(py,px)



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.