Microsoft Corporationは7月10日(現地時間)、「Comment」において、Windows 11で新しい「JScript9Legacy」をデフォルトのJScriptエンジンとして有効化したと発表した。

JScript9Legacyは、従来のJScriptエンジンに比べてパフォーマンスが高く、セキュリティにも優れている。

  • JScript9Legacy scripting engine now enabled by default

    JScript9Legacy scripting engine now enabled by default

JScriptからJScript9Legacyに至る経緯

Windowsは、Microsoft独自のJavaScript仕様(ECMAScript)の実装として「JScript」(実行ファイルは「JScript.dll」)を搭載している。かつてのInternet Explorer 5から8ではデフォルトのJavaScriptエンジンとして採用されていたほか、OS用のJavaScriptエンジンとして、HTMLアプリケーションや従来のASP、Windows Script Host(WSH)スクリプトなどの実行環境としても使われている。

JScriptの後継バージョンとしては「JScript9」(別名「Chakra」)があり、Internet Explorer 9以降とEdge LegacyではこれがデフォルトのJavaScriptエンジンになった。ただし、オリジナルのJScriptはActive Scriptingエンジンと互換性があるのに対して、JScript9ではパフォーマンス向上のためにActiveScriptingとの互換性を犠牲にしているという違いがある。そこで、互換性を保つためにJScript9登場後の現在でもオリジナルのJScriptが現役で残っている。

JScript9Legacyは、JScript9をベースにして、Active Scriptingとの互換性を復活させた実装である。2024年6月にリリースされ、Windows 11 バージョン24H2で利用可能になった。

なお、現在のEdgeはChromiumベースであるため、JavaScriptエンジンとしてはGoogle Chromeと同じV8エンジンを使用している。したがってJScriptやJScript9、JScript9Legacyは使っていない。

JScript9Lagecyでセキュリティが向上

今回Microsoftは、従来のJScriptと置き換えて、JScript9Lagecyをデフォルトにすることを決定した。Microsoftによると、JScript9Lagecyは最新のWeb標準との互換性を高めるように設計しており、パフォーマンスも大幅に向上しているという。

加えて、JavaScriptオブジェクトの取り扱いの改善や、厳格な実行ポリシーなど、高度なセキュリティ機能を組み込んだことで、クロスサイトスクリプティング(XSS)などの脆弱性への耐性が高まったとのこと。これによってより幅広いセキュリティ脅威に対する防御力が高まり、ユーザーはより安全な環境を利用できるとMicrosoftは説明している。

なお、JScript9Lagecyのデフォルト有効化はWindows 11 24H2以降のバージョンに対して適用される。それ以前のバージョンでは、引き続きJScriptがデフォルトになる。この変更は自動的に行われるため、ユーザーによる追加のアクションは必要ないとのことだ。