helen's blog

ずっとおもしろいことしてたいな。

jQuery3.0のRC版が出たから読んでみた

今日はこっちを読みます
jQuery 3.0 Release Candidate…Released! | Official jQuery Blog

Major changes

jQuery.Deferred is now Promises/A+ compatible

  • jQuery.DeferredがPromises/A+とES2015Promiseの互換性を持った
  • 以前はExceptionが.then()にスローされるとcallbackをやめ、親と子のDeferredオブジェクトをロックしていた
  • 子要素、孫要素がコールバックする前に親要素のログが出るようになった

コールバックを操作して要素のコールバックを見てログに出してくれるようになったらしい

あとPromises/A+っていうJSの標準仕様があるらしい
GitHub - promises-aplus/promises-spec: An open standard for sound, interoperable JavaScript promises—by implementers, for implementers.

Added .catch() to Deferreds

  • promiseオブジェクトにcatch()メソッドが追加された

Error cases don’t silently fail

  • 変なリクエストを無視するのではなくエラーを返すようになった
  • 3.0を試すなら無効な値をjQueryによって隠していないか確認したほうがいいらしい

Removed deprecated event aliases

  • 1.8から非推奨になった.load、.unload、.errorを削除
  • .onを使いましょう

Animations now use requestAnimationFrame

  • requestAnimationFrameAPIを使ってアニメーション
  • 動きがスムーズになってCPU時間を減らし、スマホのバッテリーを節約

Massive speedups for some jQuery custom selectors

  • jQueryセレクタが超高速になった
  • :visible, :hiddenなどはブラウザの処理速度に依存するが使いたいことが多いので最悪の場合CSSとレイアウトの再計算が起こる
  • :visible, :hiddenなどの使用を止めないけどテスト推奨

ざっくりしてて全然わからん
使ってみないと全然わからん

眠くなってきた

次回はこっち
jQuery Core 3.0 Upgrade Guide | jQuery