JavaScriptで書いてみよう! (値、変数、リテラル)
ここでは値、変数、リテラルについて説明します。
値
値には以下の種類があります。
・数 42、3.14159など
・ブーリアン true または false
・文字列 "こんにちは"など
・ヌル null
・未定義 undefined
整数と実数に厳密な違いはありません。
日付型はありませんがDateオブジェクトを使うことができます。
他の基本的な要素としてオブジェクトと関数があります。
データ型の変換
JavaScirptではデータの型は自動的に変換されます。
変数
JavaScriptの変数は英字(a-z,A-Z)またはアンダースコア("_")で始めなければならず、途中には数字(0-9)を含むこともできます。
変数の定義
例:
var x = 42 //グローバル変数ではvarは省略可
変数の評価
定義されていない変数が評価された場合は実行時エラーになります。
値を代入されていない変数が評価された場合はundefinedになります。
undefinedが数として評価されるとNaNになります。
undefinedがブーリアンとして評価されるとfalseになります。
nullが数として評価されると0になります。
nullがブーリアンとして評価されるとfalseになります。
変数のスコープ(有効範囲)
関数の外で定義された変数はグローバル変数であり、そのドキュメント内のどこからでもアクセスできます。関数の内で定義された変数はローカル変数であり、その関数内からのみアクセスできます。
ローカル変数はvarを使用して定義しなければなりません。
あるウィンドウまたはフレームで定義されたグローバル変数は別のウィンドウまたフレームからアクセスすることができます。
リテラル
値の代わりにリテラルを使うことができます。リテラルは固定された値であり、変更できません。
Array(配列)リテラル
Arrayリテラルは括弧([])によって囲まれた、0以上の数の式の並びです。配列を作成するときにArrayリテラルを使用すれば、配列の要素は値によって初期化され、配列の大きさは与えられた引数の数となります。
例:
coffees = ["French Roast", "Columbian", "Kona"]
Arrayリテラルを用いて、top-levelのスクリプトで定義された配列は、式が評価される毎に定義されます。また、関数の中で使用されたArrayリテラルは、関数が呼び出される毎に定義されます。ArrayリテラルはArrayオブジェクトでもあります。
Arrayリテラルの中のコンマ
Arrayリテラルの中では、すべての要素を指定しなければならないわけではありません。
fish = ["Lion", , "Angel"] //2番目の要素はundefined
myList = ['home', , 'school', ] //最後のコンマは無視される
myList = [ , 'home', , 'school'] //配列の大きさは4
myList = ['home', , 'school', , ] //配列の大きさは4
Boolean(ブーリアン)リテラル
Booleanリテラルは以下の二つの値しか持ちません。
true、false
ブーリアンがtrueまたはfalseであることと、Booleanオブジェクトがtrueまたはfalseであることは別です。
Floating-Point(浮動小数点数)リテラル
Floating-Pointリテラルは以下の部分を持ちます。
・整数部分整数
・小数点
・小数部分整数
・指数部
指数部は"e"または"E"に続く整数です。整数には"+"または"-"をつけることができます。Floating-Pointリテラルは少なくとも、ひとつの整数と小数点または"e"(または"E")が必要です。
例:
3.1415
-3.1E12
.1e12
2E-12
Integers(整数)
整数は10進数、16進数、8進数で表現されます。10進数は0以外では始まる数字の並びです。0から始まると8進数を意味します。0x(または0X)で始まると16進数を意味します。16進数は数字(0-9)の他にa-fまたはA-Fを使用します。8進数は数字0-7のみです。
例:
42
0xFFF
-345.
Object(オブジェクト)リテラル
Objectリテラルは括弧({})で囲まれた、0以上の数のプロパティ名と値のペアです。Objectリテラルをステートメントの最初に書くとエラーになります。
car = {myCar: "Saturn", getCar: CarTypes("Honda"), special: Sales}
//CarTypes()は関数、Salesは変数です。
String(文字列)リテラル
Stringリテラルはダブルクオート(")またはシングルクオート(')で囲まれた、0以上の数の文字の並びです。
例:
"blah"
'blah'
"1234"
"one line \n another line"
Stringリテラルに対してStringオブジェクトのすべてのメソッドを呼び出すことができます。JavaScriptは自動的にStringリテラルをテンポラリのStringオブジェクトに変換しメソッドを呼び出し、テンポラリのStringオブジェクトを削除します。Stringリテラルに対して、String.lengthプロパティを使うこともできます。
特にStringオブジェクトを使用する必要がない場合は、Stringリテラルを使用してください。
特殊文字
文字列には、普通の文字に加えて特殊文字を含めることもできます。
例:
"one line \n another line"
以下は特殊文字のリストです。
文字
|
意味
|
---|
\b |
バックスペース |
\f |
フォームフィード |
\n |
改行 |
\r |
キャリッジリターン |
\t |
タブ |
\' |
シングルクオート |
\" |
ダブルクオート |
\\ |
バックスラッシュ(\) |
\XXX |
Latin-1 encodingにおいて、8進数XXXで指定される文字。XXXは0から377。例、\251はコピーライトシンボルを表す。 |
\xXX |
Latin-1 encodingにおいて、16進数XXで指定される文字。XXは00からFF。例、\xA9はコピーライトシンボルを表す。 |
\uXXXX |
Unicodeにおいて、16進数XXXXで指定される文字。例、\u00A9はコピーライトシンボルを表す。 |
エスケープ文字
上記の表になく、バックスラッシュに続く文字はクオート、バックスラッシュ以外は無視されます。
文字列にクオートを含めるには以下のようにします。
例:
var quote = "I read \"Conversation With God\" by Neal Donald Walsch."
document.write(quote)
結果は以下のようになります。
I read "Conversations With God" by Neal Donald Walsch.
文字列にバックスラッシュを含めるには以下のようにします。
例:
var home = "c:\\temp"
これは、c:\tempを意味します。
Unicode
省略
ホームページへ戻る
|