0x0b
js_ref
最終更新:
0x0b
-
view
リファレンス
プログラミング経験(C、 Visual Basicなどの言語)があれば役に立ちますが、必須ではない
JavaScriptという言語は、幅広い環境(ブラウザ、サーバーサイドスクリプトなど)で使われることが意図されている
このリファレンスは、ほとんどの部分で、環境に依存せず、ウェブブラウザ環境をターゲットにしていない
デモンストレーションの目的で、println 関数を使用
この関数は、JavaScript の一部ではないので、環境ごとに、与えた値を表示する関数として独自に定義する必要がある
このリファレンスは、ほとんどの部分で、環境に依存せず、ウェブブラウザ環境をターゲットにしていない
デモンストレーションの目的で、println 関数を使用
この関数は、JavaScript の一部ではないので、環境ごとに、与えた値を表示する関数として独自に定義する必要がある
例:ウェブブラウザでは、println 関数は以下のように定義されるでしょう。:
function println(string) { window.alert(string); }
他の環境で、同等の関数を独自に定義することは、読者のために課題として残しておきます
文書の約束事
このリファレンスには、文書中の主題の適切なもしくは共通な利用法を具体的に説明するための構文の説明の部分があります。これらの部分では、文字通りそのままであることを表すすべてのテキストリテラルは 3 点リーダを除いてイタリックにはなっていません。イタリックの単語はユーザ定義の名前や 文 (statements) を表します。角括弧 ([ および ]) で囲まれた部分 はオプションです。コンマで区切られ、3 点リーダ (...) を含む一連の並びは、それが一覧であり、最初の項目を除いた項目のすべてがオプションであることを示します (例: "param1, param2, ..., paramN" では param1 のみが必須)。
このリファレンスには、文書中の主題の適切なもしくは共通な利用法を具体的に説明するための構文の説明の部分があります。これらの部分では、文字通りそのままであることを表すすべてのテキストリテラルは 3 点リーダを除いてイタリックにはなっていません。イタリックの単語はユーザ定義の名前や 文 (statements) を表します。角括弧 ([ および ]) で囲まれた部分 はオプションです。コンマで区切られ、3 点リーダ (...) を含む一連の並びは、それが一覧であり、最初の項目を除いた項目のすべてがオプションであることを示します (例: "param1, param2, ..., paramN" では param1 のみが必須)。
JavaScript の歴史
Mozilla ベースのブラウザの最近のバージョンは、JavaScript のより新しいバージョンをサポートしています。以下の表は、Mozilla べースブラウザ の異なるバージョンでサポートされる JavaScript のバージョンを一覧にしています。
Mozilla ベースのブラウザの最近のバージョンは、JavaScript のより新しいバージョンをサポートしています。以下の表は、Mozilla べースブラウザ の異なるバージョンでサポートされる JavaScript のバージョンを一覧にしています。
最低でも JavaScript 1.5 をサポートしないブラウザは、今日ではとても珍しくなっています。JavaScript 1.5 が紹介されたのは、1999 年にさかのぼります。歴史的な情報に興味があるならば、Wikipedia の
HTTP Status: InternalError(500) (click for details) の記事を参考にしてください。
JavaScript (SpiderMonkey) のバージョン | ブラウザのリリースバージョン | Gecko のバージョン |
JavaScript 1.5 | Navigator 6.0, Mozilla Application Suite, Firefox 1.0 | Gecko 0.6x-1.7 |
JavaScript 1.6 | Firefox 1.5 | Gecko 1.8 |
JavaScript 1.7 | Firefox 2 | Gecko 1.8.1 |
JavaScript 1.8 | Firefox 3 | Gecko 1.9 |
JavaScript の情報の所在
コア言語機能 (そのほとんどの部分は純粋な ECMAScript) についての JavaScript の文書としては以下のものがあります。
Core JavaScript 1.5 ガイド
Core JavaScript 1.5 リファレンス
初めて JavaScript に触れる方は ガイド から読み始めるのがよいでしょう。基本的なところをしっかり理解している方は リファレンス を利用し、個々のオブジェクトや言語コンストラクタについてのより詳しい情報を得ることができます。
Core JavaScript 1.5 リファレンス
初めて JavaScript に触れる方は ガイド から読み始めるのがよいでしょう。基本的なところをしっかり理解している方は リファレンス を利用し、個々のオブジェクトや言語コンストラクタについてのより詳しい情報を得ることができます。
グローバルオブジェクト
Global ObjectsEDITWATCH
目次
目次
標準グローバルオブジェクト(カテゴリ別)
コンストラクタ
エラー
非コンストラクタ関数
その他
標準グローバルオブジェクト(アルファベット順)
タグ ファイル
ページ通知 オフ
この章では JavaScript のオブジェクトの全てを、それらのメソッドやプロパティと共に文書化しています。
コンストラクタ
エラー
非コンストラクタ関数
その他
標準グローバルオブジェクト(アルファベット順)
タグ ファイル
ページ通知 オフ
この章では JavaScript のオブジェクトの全てを、それらのメソッドやプロパティと共に文書化しています。
ここでの「グローバル・オブジェクト (global objects) 」という言葉をグローバルオブジェクト (global object) と混同しないでください。ここでは、グローバルスコープ中のオブジェクトのことをグローバル・オブジェクトと言っています。グローバルオブジェクト自身はグローバルスコープ中での this によってアクセスすることができます。実際のところ、グローバルスコープはグローバルオブジェクト(継承されたプロパティがあればそれらも含む)のプロパティから成り立っています。
標準グローバルオブジェクト(カテゴリ別)
コンストラクタ
Boolean
Number
String
Array
Object
Function
RegExp
Date (このカテゴリでの他のものと文字通り同じではありません)
Number
String
Array
Object
Function
RegExp
Date (このカテゴリでの他のものと文字通り同じではありません)
エラー
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
非コンストラクタ関数
decodeURI
decodeURIComponent
encodeURI
encodeURIComponent
eval
isFinite
isNaN
parseFloat
parseInt
decodeURIComponent
encodeURI
encodeURIComponent
eval
isFinite
isNaN
parseFloat
parseInt
その他
Infinity
Math
NaN
undefined
Math
NaN
undefined
標準グローバルオブジェクト(アルファベット順)
Array
Boolean
Date
decodeURI
decodeURIComponent
encodeURI
encodeURIComponent
eval
Error
EvalError
Function
Infinity
isFinite
isNaN
Math
NaN
Number
Object
parseFloat
parseInt
RangeError
ReferenceError
RegExp
String
SyntaxError
TypeError
undefined
URIError
グローバルスコープ中の他のオブジェクトは、ユーザースクリプトによって作られるか、ホストアプリケーションによって提供されます。Gecko ベースのブラウザで利用可能なホストオブジェクトは Gecko DOM Reference で文書化されています。
Boolean
Date
decodeURI
decodeURIComponent
encodeURI
encodeURIComponent
eval
Error
EvalError
Function
Infinity
isFinite
isNaN
Math
NaN
Number
Object
parseFloat
parseInt
RangeError
ReferenceError
RegExp
String
SyntaxError
TypeError
undefined
URIError
グローバルスコープ中の他のオブジェクトは、ユーザースクリプトによって作られるか、ホストアプリケーションによって提供されます。Gecko ベースのブラウザで利用可能なホストオブジェクトは Gecko DOM Reference で文書化されています。
DOM とコア JavaScript との違いに関する詳しい情報は、文書 The DOM and JavaScript をご覧ください。
関数
arguments
文
この章は JavaScript のすべての文 (statements) を説明しています。JavaScript の文は適切な構文のもと使われるキーワードから成ります。1 つの文が複数行にわたることもあります。それぞれの文がセミコロンで分けられていれば、1 行に複数の文が現れることもあります。
文 | 説明 |
ブロック | ブロック文は 0 個以上の文をグループ化するのに使われます。ブロックは中括弧 (波括弧) の組で区切られます |
break | 現在のループ、switch、またはラベル文を終了し、プログラムの制御を、終了した文の次の文へと移します |
const | 読み取り専用の名前付き定数を宣言します |
continue | 現在のループ、またはラベル付きループの現在反復中の文の実行を終了し、そのループの実行を、その次の反復を用いて継続します |
do...while | 指定された文を、テスト条件が false に評価されるまで実行するループを作成します。条件は文を実行した後に評価されます。結果として、指定された文は少なくとも 1 回は実行されます |
export | 署名付きスクリプトが、ほかの署名付きまたは署名なしスクリプトに、プロパティ、関数、およびオブジェクトを提供することを可能にします。この機能は ECMA-262 第 3 版には含まれていません |
for | 丸括弧で囲まれ、セミコロンにより分けられた、3 つの省略可能な式で構成されるループを作成します。式の後にはループの中で実行される文が続きます |
for...in | 指定された変数を、オブジェクトの全プロパティに対して任意の順序で反復します。異なるそれぞれのプロパティに対し、指定された文が実行されます |
for each...in | 指定された変数を、オブジェクトの全プロパティの値に対して反復します。異なるそれぞれのプロパティに対し、指定された文が実行されます |
function | 指定されたパラメータで関数を宣言します |
if...else | 指定された条件が true なら文を実行します。条件が false なら、もう一方の文を実行することがあります |
import | スクリプトが、プロパティ、関数、およびオブジェクトを、その情報をエクスポートした署名付きスクリプトからインポートすることを可能にします |
label | 文に、break または continue 文を使って参照できる識別子を与えます |
let | 局所変数を宣言します。任意で値を代入して初期化できます |
return | 関数により返される値を指定します |
switch | 式を評価し、その式の値が case のラベルと一致するなら、その case に関連付けられた文を実行します |
throw | ユーザー定義の例外を投げます |
try | 試みる文のブロックを印付け、例外が投げられるのなら、対処を指定します |
var | 変数を宣言し、任意でそれをある値に初期化します |
|while|テスト条件が true に評価される間、指定された文を実行するループを作成します。条件は文を実行する前に評価されます。
with 文に対するスコープチェーンを拡張します|
with 文に対するスコープチェーンを拡張します|
算術演算子
(+, -, *, /, %, ++, --, unary -)
算術演算子は、数値(リテラル、変数の両方)を演算対象とみなし、単一の数値を返します。
代入演算子
(=, +=, -=, *=, /=, >>=, <<=, >>>=, &=, |=, ^=)
(=, +=, -=, *=, /=, >>=, <<=, >>>=, &=, |=, ^=)
代入演算子は、右オペランドの値を左オペランドに代入します。
ビット演算子
(&, |, ^, ~, <<, >>, >>>)
(&, |, ^, ~, <<, >>, >>>)
ビット演算子は、演算対象を 32 ビットの(0 と 1 の)ビットの並びとして扱い、標準的な JavaScript の数値を返します。
比較演算子
(==, !=, ===, !==, >, >=, <, <=)
(==, !=, ===, !==, >, >=, <, <=)
比較演算子は、演算対象を比較し、比較が真であるかどうかを基準とした論理値を返します。
論理演算子
(&&, ||, !)
(&&, ||, !)
論理演算子は、基本的に真偽(論理)値とともに用いられます。そのときは、真偽値を返します。
文字列演算子
(+ and +=)
(+ and +=)
文字列演算子は、2 つの文字列の値を結合し、2 つの文字列を組み合わせた別の文字列を返します。
メンバー演算子
(object.property and object["property"])
(object.property and object["property"])
メンバー演算子は、オブジェクトのメソッド、または、プロパティへのアクセスを提供します。
特殊演算子
他のカテゴリには入らない特殊な演算子です。
条件演算子
(condition ? ifTrue : ifFalse)
他のカテゴリには入らない特殊な演算子です。
条件演算子
(condition ? ifTrue : ifFalse)
条件演算子は、条件の論理値を基にして、2つの値のうちの 1 つ を返します。
コンマ演算子
(,)
(,)
コンマ演算子は、複数の式を単一の文で評価し、その最後の式の結果を返します。
delete 演算子
(delete)
(delete)
delete 演算子は、オブジェクトを削除します。
function 演算子
(function)
(function)
function 演算子は、関数を定義します。
get 演算子
(get)
(get)
get 演算子は、ゲッタにプロパティを定義します。
in 演算子
(in)
(in)
in 演算子は、オブジェクトが指定したプロパティを持っているどうかを判別します。
instanceof 演算子
(instanceof)
(instanceof)
instanceof 演算子は、オブジェクトが他のオブジェクトのインスタンスかどうかを判別します。
let 演算子
(let)
(let)
let 演算子は、その式でのみ有効である変数に値を一時的に代入します。
new 演算子
(new)
(new)
new 演算子は、コンストラクタのインスタンスを生成します。
set 演算子
(set)
(set)
set 演算子は、セッタにプロパティを定義します。
this 演算子
(this)
(this)
this 演算子は、実行コンテキストを参照します。
typeof 演算子
(typeof)
(typeof)
typeof 演算子は、指定したオブジェクトの型を判別します。
void 演算子
(void)
(void)
void 演算子は、式の戻り値を捨てます。
yield 演算子
(yield)
(yield)
yield 演算子は、ジュネレータにおいてそのジュネレータのイテレータによって返されるものを決定します。
演算子の優先順位
演算子の優先順位は、演算子が評価される順番を定義します
概要
演算子の優先順位は、演算子が評価される順番を決定します。より高い優先順位の演算子は最初に評価されます。
概要
演算子の優先順位は、演算子が評価される順番を決定します。より高い優先順位の演算子は最初に評価されます。
よくある例:
3 + 4 * 5 // 23 を返す
乗算演算子 ("*") は加算演算子 ("+") より高い優先順位を持つので、最初に評価されます。
乗算演算子 ("*") は加算演算子 ("+") より高い優先順位を持つので、最初に評価されます。
結合性
結合性は、同じ優先順位の演算子を処理する順番を決定します。例えば、次のような式を考えてみましょう。
a OP b OP c
左結合性 (左から右) とはこれを (a OP b) OP c というように処理するという意味であり、対して右結合性 (右から左) はこれを a OP (b OP c) というように解釈するという意味です。代入演算子は右結合性なので、あなたは、
a = b = 5;
と書くことで、a と b が値 5 を得るという期待通りの結果を得ることができます。これは代入演算子が代入した値を返すためです。まず b に 5 がセットされます。そして a に b の値がセットされるのです。
表
以下の表は優先順位の最も高いもの (1) から最も低いもの (17) の順に並べられています。
以下の表は優先順位の最も高いもの (1) から最も低いもの (17) の順に並べられています。
優先順位 | 演算子の種類 | 結合性 | 個々の演算子 |
1 | メンバ | 左から右 | . [] |
new | 右から左 | new | |
2 | 関数呼び出し | 左から右 | () |
3 | インクリメント | n/a | ++ |
デクリメント | n/a | -- | |
4 | 論理 NOT | 右から左 | ! |
ビットごとの NOT | 右から左 | ||
単項の + | 右から左 | + | |
符号反転 | 右から左 | - | |
typeof | 右から左 | typeof | |
void | 右から左 | void | |
delete | 右から左 | delete | |
5 | 乗算 | 左から右 | * |
除算 | 左から右 | / | |
モジュロ | 左から右 | % | |
6 | 加算 | 左から右 | + |
減算 | 左から右 | - | |
7 | ビットシフト | 左から右 | << >> >>> |
8 | 大小関係 | 左から右 | < <= > >= |
in | 左から右 | in | |
instanceof | 左から右 | instanceof | |
9 | 同値関係 | 左から右 | == != === !== |
10 | ビットごとの AND | 左から右 | & |
11 | ビットごとの XOR | 左から右 | ^ |
12 | ビットごとの OR | 左から右 | | |
13 | 論理 AND | 左から右 | && |
14 | 論理 OR | 左から右 | || |
15 | 条件 | 右から左 | ?: |
16 | 代入 | 右から左 | = += -= *= /= %= <<= >>= >>>= &= ^= |
= |
17 | コンマ | 左から右 | , |
コメント
コードコメント (// と /* */)
概要
スクリプトの挙動を説明するための作者によるメモ。コメントはインタプリタには無視されます
概要
スクリプトの挙動を説明するための作者によるメモ。コメントはインタプリタには無視されます
コメント | |
実装されたバージョン: | JavaScript 1.0, NES2.0 |
ECMA バージョン: | ECMA-262 |
構文
/* 複数行のコメント内容 */
説明
JavaScript は Java 形式のコメントをサポートしています。
JavaScript は Java 形式のコメントをサポートしています。
1 行だけのコメントは 2 重のスラッシュ (//) から始まります。
複数行にまたがるコメントは /* から始まり */ で終わります。複数行コメントは入れ子にさせることができません。
複数行にまたがるコメントは /* から始まり */ で終わります。複数行コメントは入れ子にさせることができません。
例
例: 1 行コメント
例: 1 行コメント
// これは 1 行コメント var intAge = 37; // これはもう 1 つのコメント
例: 複数行コメント
/* これは複数行コメント。 どんな長さでもかまわず、書きたいことを何でもここに書ける。 ただし他の複数行コメントは含められない。 */
E4X (拡張)
グローバル文:
標準 XML 名前空間
グローバル関数:
グローバル関数:
isXMLName()
グローバルコンストラクタ:
グローバルコンストラクタ:
Namespace()
QName()
XML()
XMLList()
QName()
XML()
XMLList()
予約語
Reserved WordsEDITWATCH
目次
目次
ヘッダーがありません
タグ ファイル
ページ通知 オフ
以下は予約語であり、変数、関数、メソッド、あるいはオブジェクトの識別子として用いることはできません。以下は ECMAScript の仕様で既存のキーワードとして予約されているものです。
タグ ファイル
ページ通知 オフ
以下は予約語であり、変数、関数、メソッド、あるいはオブジェクトの識別子として用いることはできません。以下は ECMAScript の仕様で既存のキーワードとして予約されているものです。
break
case
catch
continue
default
delete
do
else
finally
for
function
if
in
instanceof
new
return
switch
this
throw
try
typeof
var
void
while
with
以下は ECMAScript の仕様で将来のキーワードとして予約されているものです。
case
catch
continue
default
delete
do
else
finally
for
function
if
in
instanceof
new
return
switch
this
throw
try
typeof
var
void
while
with
以下は ECMAScript の仕様で将来のキーワードとして予約されているものです。
abstract
boolean
byte
char
class
const
debugger
double
enum
export
extends
final
float
goto
implements
import
int
interface
long
native
package
private
protected
public
short
static
super
synchronized
throws
transient
volatile
ECMA-262 では仕様となっていませんが、const、export、import は Mozilla では実装されているので注意してください。
boolean
byte
char
class
const
debugger
double
enum
export
extends
final
float
goto
implements
import
int
interface
long
native
package
private
protected
public
short
static
super
synchronized
throws
transient
volatile
ECMA-262 では仕様となっていませんが、const、export、import は Mozilla では実装されているので注意してください。
さらに、null は Null リテラル として ECMAScript の仕様で予約されており、true と false は Boolean リテラルとして ECMAScript の仕様で予約されています。
非推奨の機能EDITWATCH
目次
RegExp オブジェクトのプロパティ
RegExp メソッド
エスケープシーケンス
タグ ファイル
ページ通知 オフ
この付録リストは、JavaScript 1.5 では非推奨の機能です。
RegExp オブジェクトのプロパティ
RegExp メソッド
エスケープシーケンス
タグ ファイル
ページ通知 オフ
この付録リストは、JavaScript 1.5 では非推奨の機能です。
RegExp オブジェクトのプロパティ
以下のプロパティは非推奨です。
以下のプロパティは非推奨です。
プロパティ | 説明 |
$1, ..., $9 | (もしあれば)括弧で囲まれた部分文字列にマッチします |
$_ | input プロパティを参照してください。 |
$* | multiline プロパティを参照してください |
$& | lastMatch プロパティを参照してください |
$+ | lastParen プロパティを参照してください |
$` | leftContext プロパティを参照してください |
$' | rightContext プロパティを参照してください |
input | 正規表現がマッチする対象となる文字列 |
lastMatch | 最後にマッチした文字 |
lastParen | (もしあれば)最後に括弧で囲まれた部分文字列のマッチ |
leftContext | 一番最近のマッチに先行する部分文字列 |
rightContext | 一番最近のマッチの後に続く部分文字列 |
以下は、 現在、RegExp インスタンスのプロパティであり、もはや、RegExp オブジェクトのプロパティではありません。
プロパティ | 説明 |
global | 対象文字列で可能なマッチ全てに対して正規表現をテストするか、それとも、最初のマッチに対してのみテストするどうかのフラグ |
ignoreCase | 文字列でのマッチを適用する際に、大文字と小文字の違いを無視するかどうかのフラグ |
lastIndex | 次のマッチが始まる位置 |
multiline | 複数行に渡って文字列を検索するかどうかのフラグ |
source | パターンのテキスト |
RegExp メソッド
compile メソッドは、非推奨です。
valueOf メソッドは、もはや RegExp で限定されません。Object.valueOf を使用してください。
compile メソッドは、非推奨です。
valueOf メソッドは、もはや RegExp で限定されません。Object.valueOf を使用してください。
エスケープシーケンス
文字列及び正規表現リテラル内での、8 進表現のエスケープシーケンス(\ に続く、1つ、2つ、もしくは、3つの 8 進表現の数字) は非推奨です。
文字列及び正規表現リテラル内での、8 進表現のエスケープシーケンス(\ に続く、1つ、2つ、もしくは、3つの 8 進表現の数字) は非推奨です。
escape 及び unescape 関数は非推奨です。 特殊文字のためのエスケープシーケンスをエンコードかデコードするためには、encodeURI、encodeURIComponent、decodeURI もしくは、 decodeURIComponent を使用してください。