JavaScript/Global Object
ECMAScript におけるグローバルオブジェクト(Global Object)は、JavaScript の実行環境において常に利用可能なオブジェクトであり、グローバルスコープで定義された変数や関数、定数などがこのオブジェクトのプロパティとして格納されます。グローバルオブジェクトは、明示的に参照する必要はなく、グローバルスコープで直接アクセスできます。
特性
グローバルオブジェクトには、以下のような特性があります。
- グローバルスコープ: グローバルオブジェクトのプロパティは、プログラムのどこからでもアクセス可能です。
- 実行環境依存: グローバルオブジェクトの具体的な内容は、JavaScript の実行環境(ブラウザ、Node.js など)によって異なります。
- 暗黙的な参照: グローバルスコープで
var
キーワードで宣言された変数や関数は、グローバルオブジェクトのプロパティとして自動的に追加されます。
プロパティとメソッド
名称 | カテゴリー | 解説 |
---|---|---|
globalThis |
Value | グローバルスコープにおける this の値。実行環境によって異なるグローバルオブジェクトを指す。 |
Infinity |
Value | 無限大を表す数値。 |
NaN |
Value | Not-a-Number を表す数値。 |
undefined |
Value | 未定義の値を表す。 |
eval ( x ) |
Function | 文字列として渡された JavaScript コードを評価する。 |
isFinite ( number ) |
Function | 値が有限数かどうかを判定する。 |
isNaN ( number ) |
Function | 値が NaN かどうかを判定する。 |
parseFloat ( string ) |
Function | 文字列を解析して浮動小数点数を返す。 |
parseInt ( string, radix ) |
Function | 文字列を解析して整数を返す。 |
decodeURI ( encodedURI ) |
Function | エンコードされた URI をデコードする。 |
decodeURIComponent ( encodedURIComponent ) |
Function | エンコードされた URI コンポーネントをデコードする。 |
encodeURI ( uri ) |
Function | URI をエンコードする。 |
encodeURIComponent ( uriComponent ) |
Function | URI コンポーネントをエンコードする。 |
AggregateError ( ... ) |
Constructor | 複数のエラーを一つにまとめるエラーオブジェクトを生成する。 |
Array ( ... ) |
Constructor | 配列オブジェクトを生成する。 |
ArrayBuffer ( ... ) |
Constructor | 固定長のバイナリデータバッファを生成する。 |
BigInt ( ... ) |
Constructor | 任意の精度の整数を生成する。 |
BigInt64Array ( ... ) |
Constructor | 64ビット符号付き整数配列を生成する。 |
BigUint64Array ( ... ) |
Constructor | 64ビット符号なし整数配列を生成する。 |
Boolean ( ... ) |
Constructor | ブール値オブジェクトを生成する。 |
DataView ( ... ) |
Constructor | ArrayBuffer のビューを生成し、異なるデータ型を読み書きする。 |
Date ( ... ) |
Constructor | 日付と時刻を扱うオブジェクトを生成する。 |
Error ( ... ) |
Constructor | エラーオブジェクトを生成する。 |
EvalError ( ... ) |
Constructor | eval() 関数に関するエラーオブジェクトを生成する。 |
FinalizationRegistry ( ... ) |
Constructor | オブジェクトがガベージコレクションされたときに実行されるコールバックを登録する。 |
Float16Array ( ... ) |
Constructor | 16ビット浮動小数点数配列を生成する。 |
Float32Array ( ... ) |
Constructor | 32ビット浮動小数点数配列を生成する。 |
Float64Array ( ... ) |
Constructor | 64ビット浮動小数点数配列を生成する。 |
Function ( ... ) |
Constructor | 関数オブジェクトを生成する。 |
Int8Array ( ... ) |
Constructor | 8ビット符号付き整数配列を生成する。 |
Int16Array ( ... ) |
Constructor | 16ビット符号付き整数配列を生成する。 |
Int32Array ( ... ) |
Constructor | 32ビット符号付き整数配列を生成する。 |
Iterator ( ... ) |
Constructor | イテレータオブジェクトを生成する。 |
Map ( ... ) |
Constructor | キーと値のペアを保持するマップオブジェクトを生成する。 |
Number ( ... ) |
Constructor | 数値オブジェクトを生成する。 |
Object ( ... ) |
Constructor | 一般的なオブジェクトを生成する。 |
Promise ( ... ) |
Constructor | 非同期処理の結果を表す Promise オブジェクトを生成する。 |
Proxy ( ... ) |
Constructor | オブジェクトの操作をトラップしカスタマイズする Proxy オブジェクトを生成する。 |
RangeError ( ... ) |
Constructor | 数値が許容範囲外である場合のエラーオブジェクトを生成する。 |
ReferenceError ( ... ) |
Constructor | 無効な参照に関するエラーオブジェクトを生成する。 |
RegExp ( ... ) |
Constructor | 正規表現オブジェクトを生成する。 |
Set ( ... ) |
Constructor | 一意な値の集合を保持する Set オブジェクトを生成する。 |
SharedArrayBuffer ( ... ) |
Constructor | 共有メモリのバイナリデータバッファを生成する。 |
String ( ... ) |
Constructor | 文字列オブジェクトを生成する。 |
Symbol ( ... ) |
Constructor | 一意で不変なプリミティブ値を生成する。 |
SyntaxError ( ... ) |
Constructor | 構文エラーに関するエラーオブジェクトを生成する。 |
TypeError ( ... ) |
Constructor | 変数またはパラメータが期待される型ではない場合のエラーオブジェクトを生成する。 |
Uint8Array ( ... ) |
Constructor | 8ビット符号なし整数配列を生成する。 |
Uint8ClampedArray ( ... ) |
Constructor | 8ビット符号なし整数配列(値が0-255にクランプされる)を生成する。 |
Uint16Array ( ... ) |
Constructor | 16ビット符号なし整数配列を生成する。 |
Uint32Array ( ... ) |
Constructor | 32ビット符号なし整数配列を生成する。 |
URIError ( ... ) |
Constructor | URI のエンコードまたはデコードに関するエラーオブジェクトを生成する。 |
WeakMap ( ... ) |
Constructor | キーがオブジェクトである弱参照のマップオブジェクトを生成する。 |
WeakRef ( ... ) |
Constructor | オブジェクトへの弱参照を生成する。 |
WeakSet ( ... ) |
Constructor | オブジェクトの弱参照の集合を保持する Set オブジェクトを生成する。 |
Atomics |
Other | 共有メモリに対するアトミック操作を提供するオブジェクト。 |
JSON |
Other | JSON 形式のデータを扱うためのオブジェクト。 |
Math |
Other | 数学的な定数と関数を提供するオブジェクト。 |
Reflect |
Other | オブジェクトの操作をトラップしカスタマイズするためのメソッドを提供するオブジェクト。 |
グローバルオブジェクトの例 (ブラウザ環境)
ブラウザ環境におけるグローバルオブジェクトは window
オブジェクトです。
// グローバルスコープで変数を宣言 var globalVariable = 10; // window オブジェクトのプロパティとしてアクセス可能 console.log(window.globalVariable); // 10 // グローバル関数も window オブジェクトのプロパティ console.log(window.parseInt('42')); // 42
グローバルオブジェクトの例 (Node.js 環境)
Node.js 環境におけるグローバルオブジェクトは global
オブジェクトです。
// グローバルスコープで変数を宣言 globalVariable = 20; // global オブジェクトのプロパティとしてアクセス可能 console.log(global.globalVariable); // 20 // グローバル関数も global オブジェクトのプロパティ console.log(global.parseInt('42')); // 42
注意点
- グローバルスコープでの変数宣言は、意図しない名前の衝突を引き起こす可能性があるため、できる限り避けるべきです。
eval()
関数の使用は、セキュリティ上のリスクやパフォーマンスの低下を招く可能性があるため、特別な理由がない限り避けるべきです。
まとめ
グローバルオブジェクトは、JavaScript の実行環境において常に利用可能なオブジェクトであり、グローバルスコープで定義された変数や関数などがこのオブジェクトのプロパティとして格納されます。グローバルオブジェクトを理解することで、JavaScript のグローバルスコープにおける挙動をより深く理解することができます。
カテゴリ:Book:JavaScript#Global%20Object%20 カテゴリ:JavaScript