3.0ブランチのリリースから約10年、そしてプロジェクト設立から20年を経て、jQuery 4.0 JavaScriptライブラリがリリースされました。W3Techsによると、ウェブ上で最もアクセス数の多い上位10万ウェブサイトのうち、70.9%で使用されています。jQueryのコードはMITライセンスの下で配布されています。
jQuery 4.0 のリリースには、下位互換性を損なう変更が含まれていますが、開発者はほとんどのユーザーに対し、コードの変更を最小限に抑えることでスムーズに新バージョンに移行できることを保証しています。専用のプラグインを使用することで、移行を簡素化できます。下位互換性を損なう変更には、非推奨コードの削除、一部の内部ドキュメント化されていないパラメータの削除、一部の過度に複雑な動作の非推奨化、および以前非推奨とされていた API の非推奨化が含まれます。非推奨の API とブラウザの削除により、ライブラリを含む gzip アーカイブのサイズが 3 KB 削減されました(スリムバージョンは 19.5 KB、フルバージョンは 27.5 KB です)。
変更点としては次のとおりです。
- IE 10 およびそれ以前のブラウザのサポートは終了しました (IE 11 のサポートは維持されますが、Query 5.0 で削除されます)。Edge Legacy などの他の古いブラウザも同様です。 Android ブラウザおよびFirefoxは、ブランチ115まで対応。
- Trusted Types API のサポートが組み込まれました。この API は、クロスサイト スクリプティング (DOM XSS) につながる DOM 操作 (eval() ブロック内のユーザー指定データの不適切な処理や、特定のページのコンテキストで JavaScript コードの実行につながる可能性のある ".innerHTML" 挿入など) から保護するように設計されています。jQuery メソッドは、TrustedHTML オブジェクトの形式で HTML コードを受け入れることができるようになりました。
- jQuery コードは、ESM (ECMAScript モジュール) JavaScript モジュールを使用するように変換されており、モジュールとして出荷およびインポートできます。
- 以下の関数は削除され、以前は非推奨とされていました:jQuery.isArray、jQuery.parseJSON、jQuery.trim、jQuery.type、jQuery.now、jQuery.isNumeric、jQuery.isFunction、jQuery.isWindow、jQuery.camelCase、jQuery.nodeName、jQuery.cssNumber、jQuery.cssProps、jQuery.fx.interval。これらの関数の代わりに、JavaScriptの標準関数であるArray.isArray()、JSON.parse()、String.prototype.trim()、Date.now()を使用することをお勧めします。
- Array オブジェクトの文書化されていない内部メソッド (push、sort、splice) を削除しました。
- フォーカス変更イベントの処理順序は、W3C 仕様に準拠するようになりました (blur、focusout、focus、focusin)。
- ajax およびエフェクト モジュールを含まないスリム バージョンのサイズは、Deferred オブジェクト (標準の Promise を使用することをお勧めします) および Callbacks の配信を停止することで 19.5k に削減されました。
出所: オープンネット.ru
