7. ちょっと詳しく(データ編)

データ型に関しては「変数とデータ型」で簡単に説明したが、 ここでは、もう少し詳しく勉強してみよう。

数値型

JavaScriptで数値を扱う場合、内部処理ではすべて浮動小数点数(要するに実数)として扱われます。 また、数値型はJavaScriptのビルトイン・オブジェクトであるNumberオブジェクトとして取り扱われます。 ただし、ブラウザの実装により若干の差があるので、数値定数をそのままオブジェクトとして取り扱うことは避けた方が良いでしょう。 数値定数としては、以下の各形式により表現します。

8進定数

0から始まり、0〜7までの数値列で表現します。

0123  → 8進数の 123 = 10進数の 83 に等しい
10進整定数

0以外の数値から始まる0〜9までの数値列で表現します。

例   123
16進定数

0xまたは0Xで始まり、0〜9およびA(a)〜F(f)までの数値列で表現します。

0x123  → 16進数の 123 = 10進数の 291 に等しい
10進実定数

小数点を含む0〜9までの数値列で表現します。

例   0.123

また、eまたはEを使用して指数形式で表現することもできます。

例   123e2 または 123e+2 は 123×10の2乗 = 12300 に等しい

論理型

論理型は真偽を表すためのデータ型であり、JavaScriptでは、Booleanオブジェクトとして扱われる。 論理定数は、以下の2つがある。

  • 真の論理定数: true
  • 偽の論理定数: false

Null型

Null(ヌル)型はヌル(何もない)を表すためのデータ型であり、JavaScriptでは、Nullオブジェクトとして扱われる。 ヌル定数は、nullのみである。

文字列型

文字列型は、0個以上の文字の列を表すデータ型であり、JavaScriptでは、Stringオブジェクトとして扱われる。 文字列定数は、単一引用符または二重引用符で囲まれた0個以上の文字の列である。

'文字列' または "文字列"

また、以下のようなエスケープシーケンスを使用することもできる。 なお、ブラウザによっては記号「\(バックスラッシュ)」の部分が「¥」で表示されているかもしれません。 日本語環境においては、どちらも同じコードが割り当てられているためです。

エスケープシーケンスコード名前シンボル
\b0x0008後退<BS>
\t0x0009水平タブ<HT>
\n0x000Aラインフィード<LF>
\v0x000B垂直タブ<VT>
\f0x000Cフォームフィード<FF>
\r0x000D改行<CR>
\"0x0022二重引用符"
\'0x0027単一引用符'
\\0x005Cバックスラッシュ\
例   "abc\\" → 文字列「abc\

JavaScriptにおいて文字列は、Stringオブジェクトとして扱われます。そのためプロパティとメソッドを持っています。 ここでは主なプロパティとメソッドを上げておきます。

プロパティ
length
文字列の長さを持っています。
メソッド
charAt(n)
先頭位置を0とした場合のn番目の文字を取得します。
indexOf(文字列, 開始位置)
先頭位置を0とした場合の開始位置から後方に文字列を検索し、その位置を返します。 見つからない場合には、-1を返します。
lastIndexOf(文字列, 開始位置)
先頭位置を0とした場合の開始位置から前方に文字列を検索し、その位置を返します。 見つからない場合には、-1を返します。
split(文字)
文字列を文字で区切った場合の各文字列を配列として返します。
substring(開始位置, 終了位置)
先頭位置を0とした場合の開始位置から終了位置までの部分文字列を取得します。
toLowerCase()
小文字に変換した文字列を取得します。
toUpperCase()
大小文字に変換した文字列を取得します。

では、以下にいくつかのメソッドをテストするサンプルを掲載しておきます。 ファイル名は、JavaScript外部ファイルを「test.js」として以下の内容を、

var str = "abc89日本語だ日本語だ89ABC";

var val1 = str.length;
var val2 = str.charAt(3);
var val3 = str.indexOf("日本", 0);
var val4 = str.lastIndexOf("日本", 17);
var val5 = str.substring(5, 9);
var val6 = str.toLowerCase();

XHTMLファイルを「test.html」とし、以下の内容を入力し、それぞれ同一ディレクトリに配置します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>Stringオブジェクトのプロパティ、メソッド</title>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<form action="test.html">
<p>
<input type="button" value="lengthテスト" onclick="alert(val1);" />
<input type="button" value="charAt()テスト" onclick="alert(val2);" />
<input type="button" value="indexOf()テスト" onclick="alert(val3);" />
<input type="button" value="lastIndexOf()テスト" onclick="alert(val4);" />
<input type="button" value="substring()テスト" onclick="alert(val5);" />
<input type="button" value="toLowerCase()テスト" onclick="alert(val6);" />
</p>
</form>
</body>
</html>

先頭に戻る


Copyright © 2006 御隠居 (滄洲). All Rights Reserved.