asm.js は、C などの言語で記述されたコンピュータソフトウェアをアプリケーションに使用される一般的な言語であるJavaScriptの優れたパフォーマンス特性を維持しながら、Webアプリケーションとして実行できるように設計されたJavaScriptサブセットである。
asm.jsはJavaScriptのサブセットで構成されており、手動のメモリ管理を備えた静的型付け言語(Cなど)で記述されたコードをEmscripten(LLVMベース)などのソースツーソースコンパイラによって変換する。 事前最適化やその他のパフォーマンス改善に適した言語機能に制限することでパフォーマンスが向上する。
Mozilla Firefoxはバージョン22からウェブブラウザとして初めてasm.jsの最適化を実装した。
後、asm.js は WebAssembly に置き換えられた。
設計
asm.js は Web アプリケーションのパフォーマンスを大幅に向上させるが、手書きの JavaScript コードのパフォーマンスを向上させることを目的としたものではなく、パフォーマンスの向上以外のことを可能にするものではない。



