JavaScript モード

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:3分
  • JavaScript モードは、カスタムアプリケーションとスクリプトの設計および実行時の設定です。既存のサーバー側スクリプトと、ECMAScript 2021 標準に合わせて新しく開発されたスクリプトをサポートするために、JavaScript エンジンには ECMAScript 2021 (ES12)、ES5 標準、および互換の 3 つのモードがあります。

    JavaScript モードは、アプリケーションまたはスクリプトでアクセスできる JavaScript 機能を制御します。新しいスコープ対象のアプリケーションのデフォルトモードは ECMAScript 2021 (ES12) で、新しいグローバルアプリケーションのデフォルトモードは ES5 標準です。ES5 標準または互換モードを使用するアプリケーションの個々のスクリプトに対して、ECMAScript 2021 (ES12) モードを有効にすることもできます。

    ECMAScript 2021 (ES12) および ES5 標準モードでサポートされている機能の詳細については、「JavaScript エンジン機能のサポート」を参照してください。

    ECMAScript 2021 (ES12) モード

    スコープ対象のアプリケーションを新しく作成する場合は、ECMAScript 2021 (ES12) モードがデフォルトモードになります。新しいスクリプトを作成すると、アプリケーションで構成されている JavaScript モードに関係なく、ECMAScript 2021 (ES12) モードがデフォルトでオンになります。このモードは、Tokyo より前の JavaScript エンジンの従来動作を保持せず、グローバルスクリプトを操作しません。

    ECMAScript 2021 (ES12) モードは、ECMAScript 2021 (ES12) および ECMAScript 2022 (ES13) 構文と機能のサブセットをサポートしており、それには次の機能が含まれます。
    • デフォルトの関数パラメーター
    • Rest パラメーター
    • For-of ループ
    • テンプレートリテラル
    • デストラクチャリング
      • 宣言
      • アサイン
      • パラメーター
    • const 宣言
    • let 宣言
    • アロー関数
    • class 宣言
    • マップセット
    • オプションのチェーン演算子 (?.)

    特定の ECMAScript 2021 (ES12) 機能については、ServiceNow 開発プログラム YouTube チャネルの「Let's Learn ECMAScript 2021 (ECMAScript 2021 を学びましょう)」のビデオを参照してください。

    ES5 標準モード

    ES5 標準モードは、グローバルアプリケーションのデフォルトモードであり、スコープ対象のアプリケーションのオプションです。このモードは、Helsinki より前の JavaScript エンジンの従来動作を保持することはありません。

    ES5 標準モードは、ECMAScript5 構文と機能をサポートしており、それには次の機能が含まれます。
    • 「use strict」宣言
    • オブジェクトの拡張性の制御
    • オブジェクトの get プロパティと set プロパティ (アクセサー)
    • オブジェクトプロパティの書き込み、構成、および列挙の制御
    • 新しい Array メソッドと Date メソッド
    • ネイティブ JSON のサポート
    • lodash.js や moment.js などの最新のサードパーティ製ライブラリのサポート

    互換モード

    互換性モードは、ES5 標準モードが追加される前に開発されたすべてのスクリプトに使用されます。互換性モードには、以前の JavaScript エンジンとは異なる点があります。

    JSON サポートの変更 :
    • JSON.stringify() および JSON.parse() は、ES5 ネイティブ JSON オブジェクトを使用して実装されています。
    • 新しい JSON().encode() と新しい JSON().decode() は引き続きサポートされますが、レガシー動作が必要となる場合にのみ使用してください。

    サードパーティの JavaScript ライブラリの使用は、互換性モードではサポート対象外です。