AltJSについて
AltjsとはJavascriptの弱点(文法の複雑さ、動的型付け)を補うために、Javascriptにコンパイルして代替される言語のこと
Altjsのメリット...Javascriptよりコードが読みやすい、変更しやすく再利用しやすい(保守性が高い)
デメリット...Javascriptにコンパイルする手間がある、エラーが発生した時のjavascriptがAltjsのどこに相当するのか調べないといけない
<主なAltjsの例>
・Typescript
中〜大規模開発の際jsに代替されるaltjs。オブジェクト指向。AngularJSで採用。javascriptとの互換性を持つ。javascriptとの大きな違いはjsが動的型付けなのに対しtypescriptは静的型付けであること。静的型付けであることにより大規模開発の際、変数の型によるバグを防ぐことでより堅牢なアプリケーション作成を可能にする。
・CoffeScript
文法がRubyやPythonっぽくてコード量が少なくて済み、コンパイル後のjsも綺麗。Railsで標準的にサポートされている(rails newで自動的に生成される、$rails new --skip-coffeeで作成されない)、Asset Pipelineという機能によって、自動でコンパイルされる。関数スコープに従って適切な位置で変数の自動生成される。
・PureScript
javascriptのオブジェクト指向と異なり関数型言語でHaskellっぽい。mapやfilter、reduceなどのメソッドをもつ。
・Elm
わりかし新しい言語。2019年わざわざ学ばなくていいプログラミング言語1位。jsの他html,cssにコンパイルされる。Haskellベースで協力な静的型付け言語で純粋関数型言語。Reactなどと同じでフレームワークとなるがJSフレームワークに比べて描画が速い、SPA(SinglePageApplication)に向いてる。型検査されるためコンパイル後に壊れない