JavaScript/Global Object

カテゴリ:Book:JavaScript#Global%20Object%20

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
カテゴリ:Book:JavaScript カテゴリ:JavaScript カテゴリ:Pages using the JsonConfig extension