7.

ビルトインオブジェクト

編集

ビルトインオブジェクトとはjavaScriptに組み込まれているオブジェクトのこと。プログラマが宣言しなくても、どのJavaScript実行環境でも利用できる基本オブジェクト群です。

本ページの子ページ一覧

オブジェクト用途
JSONJSON文字列とJavaScript値の相互変換
Array配列の生成・操作
Boolean真偽値のラッパ
Date日時の生成・計算
Math数学関数・乱数
Number数値のラッパ・定数
Object全オブジェクトの基本
RegExp正規表現

その他の主要ビルトインオブジェクト

オブジェクト用途
String文字列のラッパ・操作メソッド
Function関数オブジェクト
Symbolユニークな識別子(ES2015〜)
Map / Setキー値マップ/集合(ES2015〜)
WeakMap / WeakSet弱参照版(GC対象)
Promise非同期処理の結果
Error / TypeError例外オブジェクト
Proxy / Reflectメタプログラミング
BigInt任意精度整数(ES2020〜)
Intl国際化(日付・数値書式)
ArrayBuffer / TypedArrayバイナリデータ

使用例

// JSON
const data = JSON.parse('[1, 2, 3]');
console.log(JSON.stringify(data));

// Array
const arr = [3, 1, 2];
arr.sort();  // [1, 2, 3]

// Date
const now = new Date();
console.log(now.toISOString());

// Math
console.log(Math.max(1, 2, 3));    // 3
console.log(Math.random());        // 0〜1の乱数

// Object
Object.keys({a: 1, b: 2});   // ["a", "b"]
Object.assign({}, src);

// Promise
fetch('/api').then(res => res.json());

ブラウザ/Node.jsで追加される「グローバル」

ビルトインオブジェクトとは別に、実行環境ごとの「ホストオブジェクト」が存在します。

環境主なホストオブジェクト
ブラウザwindow, document, navigator, fetch, localStorage
Node.jsglobal, process, Buffer, require, __dirname
Web Workerself, postMessage

注意点

  • Array等のプロトタイプを汚染しないArray.prototype.foo = ... は他コードを壊す)
  • Object.prototype__proto__ で書き換えるとセキュリティリスク(プロトタイプ汚染攻撃)
  • 古いブラウザでは新しいビルトイン(Map / Set / Promise等)が無いことがある。Polyfillで対応
  • new Number(5) のような「オブジェクトラッパ」はほぼ使わない。5 でよい

関連

編集
Post Share
子ページ
  1. JSON
  2. Array
  3. Boolean
  4. Date
  5. Math
  6. Number
  7. Object
  8. RegExp
同階層のページ
  1. 環境構築
  2. 文法
  3. プラットフォーム
  4. ライブラリ
  5. フレームワーク
  6. テンプレートエンジン
  7. ビルトインオブジェクト
  8. エラー一覧
  9. よくある事例