Skip to content

3.7 その他の組み込みオブジェクト

JavaScriptには、オブジェクトや配列以外にも標準で用意されている便利な 組み込みオブジェクト が多数存在します。これらはTypeScriptでも適切な型定義と共に利用できます。

日時を扱うためのオブジェクトです。

  • 生成: new Date() で現在時刻、new Date("2026-02-24") のように文字列から生成できます。
  • ISO 8601形式: データのやり取りには 2020-02-03T15:00:00+09:00 のような標準形式が推奨されます。
  • メソッド: getTime()(ミリ秒単位の数値取得)や toISOString()(標準形式文字列への変換)が頻繁に使われます。

3.7.2 正規表現オブジェクト (1) 正規表現の基本

Section titled “3.7.2 正規表現オブジェクト (1) 正規表現の基本”

文字列のパターンマッチングを行うための仕組みです。

  • リテラル記法: /abc/ のようにスラッシュで囲んで記述します。
  • テスト: reg.test(str) メソッドで、文字列がパターンに合致するかを判定(true/false)できます。

3.7.3 正規表現オブジェクト (2) 正規表現を使う方法

Section titled “3.7.3 正規表現オブジェクト (2) 正規表現を使う方法”

文字列側のメソッドと組み合わせて高度な操作が可能です。

  • 置換: str.replace(/pattern/g, "replacement") でパターンに合う箇所を置換できます。
  • マッチング: str.match(reg) で、詳細なマッチング結果(キャプチャグループなど)を取得できます。

3.7.4 Map オブジェクト・Set オブジェクト

Section titled “3.7.4 Map オブジェクト・Set オブジェクト”

特定の用途に特化した新しいデータ構造です。

  • Map: 任意の値をキーにできる「真の連想配列」です。map.set(key, value)map.get(key) で操作します。
  • Set: 重複を許さない値の集合です。set.add(value) で追加し、既に存在する値は無視されます。

3.7.5 プリミティブなのにプロパティがある?

Section titled “3.7.5 プリミティブなのにプロパティがある?”

stringnumber などのプリミティブ型に対しても、.length.toUpperCase() といったプロパティアクセスが可能です。

  • 自動ボックス化: アクセスした瞬間に、JavaScriptが一時的にプリミティブをオブジェクトへ変換(ラップ)することで実現しています。
  • TypeScriptの安全性: TypeScriptはこの挙動を正しく理解しており、存在しないプロパティ(例:number 型への .length)へのアクセスはコンパイルエラーとして防いでくれます。