控えめなJavaScript
歴史的にJavaScriptは本格的なアプリケーション開発には適さない、扱いにくい言語とされてきた。これは主に、言語そのものと、各種ブラウザでのドキュメントオブジェクトモデル (DOM) の一貫性のない実装、さらにバグを生みやすいコピー・アンド・ペーストで作られたコードが広く使われてきたことによるものである。ランタイムエラーは非常によく見られる上にデバッグが非常に困難であるため、スクリプトが多かれ少なかれ意図したとおりに動いている限り、それを修正しようとするプログラマはほとんどいなかった。しかし、一部のブラウザでは全く動かないスクリプトもあった。
一部のWeb開発者は、1994年以降、グレースフル・デグラデーション(適切な低均作用)を推奨してきた。近年、標準に準拠したブラウザや、JavaScriptフレームワーク、高品質なデバッグツールの出現により、体系化され、拡張可能なJavaScriptコードが可能になった。そして、Ajaxインターフェースの出現によって、そのようなコードが望まれるようになった。JavaScriptはかつて、バリデーションや装飾的な真新しさを出すなどの、比較的シンプルで非クリティカルなタスクを行う言語だとされてきたが、現在はWebサイトの中核機能の一部にもなりうる巨大で複雑なコードベースを記述するために使われている。ランタイムエラーや予期しない動作は、もはや小さな厄介ごとではなく、致命的な欠陥である。