■自主製作ゲーム:開発状況報告スレVer1.2■ [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0898896
2016/10/09(日) 12:38:55.36ID:P69ae/0X迷惑じゃなければ良かったよ
他言語から入った人がJSで困惑するポイントって色々あって
・定数無い(ES2015ってバージョンで追加)
・ブロックスコープ無い(ES2015ってry)
(関数スコープがあるのでこれを利用する←即時関数はそのために使える技法だったり)
・コンストラクタは関数を使って作成する
・型はあるけど動的型付けなので自動変換される
('50' - 0とかしたら50はNumber型に変換される)
・クロージャ、プロトタイプって仕様が最初理解しにくい
(JSはクラスベースでなく、プロトタイプベースのオブジェクト指向言語)
ブラウザ互換についてなんだけど結構落とし穴があるんだよね
・他のブラウザにはあるプロパティだけど、このブラウザでは別の名前で実装されてる
・そもそも特定のプロパティ、メソッドかない
・DOM要素(HTMLから取得してきた要素)に対する処理に互換性なかったりする
(セレクトボックスとかフォームパーツにありがち)
これはCSSでも同じで指定方法が違ったり、そもそもそのCSSプロパティがないって問題が起きたりする
(SafariとかレガシーIE、レガシーなAndroidとかで起きやすい問題)
jQueryはファイルサイズが大きいライブラリなんだけど、DOM要素のかなり簡潔な取得、簡単なアニメーション、Ajax通信、面倒な配列、オブジェクト操作をサポートしてくれるよ
(その上でjQueryのバージョン、1.x.x系はIE8とかレガシーブラウザとの互換性をある程度持たしてくれる)
イベントリスナーは実はIE9以下で実装されてなくて、attachEventってメソッド使うんだけど機能的に差があったりして結構大変
これを解消するためにjQueryはブラウザのイベント機構とは別に自前でイベント管理の機能を持ってて、ブラウザの互換性を担保してくれる
最近はMVCってのがWebにも入ってきて、フレームワーク(AngularJSやVue.js、React.jsなど)を使ってMVCを実現することが増えてきた
結果Web製作におけるjQueryの採用率が少し減ってきた。けど未だに人気の強いライブラリ
(配列操作とかの便利なライブラリはunderscore.jsとかlow-dashって言われるライブラリが良いかも)
長文失礼(スレチかもだし、次から抑えとく)
■ このスレッドは過去ログ倉庫に格納されています