BT

待望のjQuery 3.0リリース、スリムビルド登場

| 作者: James Chesters フォローする 1 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2016年6月21日. 推定読書時間: 3 分 |

原文(投稿日:2016/06/15)へのリンク

jQueryチームが待望の3.0リリースを公開した。新しいスリムビルド、新機能、改善、バグ修正が含まれている。

jQueryコアチームメンバーのTimmy Willison氏は、ブログ記事「jQuery 3.0 Final Released!」でjQueryの「スリムビルド」を発表し、次のように語った。「ajaxを必要としないときもあれば、ajaxリクエストにフォーカスした様々なスタンドアロンのライブラリのいずれかを使いたいときもあるでしょう。また、WebアニメーションにCSSとクラス操作の組み合わせを使う方が簡単な場合もよくあります。」

標準のjQueryと比べて、スリムバージョンはajax、effect、非推奨コードが外され、フルバージョンの30kに対して23.6kとスリムになっている。スリムなjQueryパッケージはここからダウンロードできる

2014年10月以来、3.0の待望の新機能が、アップデートされたjQuery.Deferredオブジェクトだ。Promises/A+およびES2015 Promisesと互換性を持ち、Willison氏は次のように説明している。3.0において「.then()コールバックでスローされる例外は、リジェクト値になります。これまで例外は上流に伝播し、コールバックの実行を中止していました。例外をスローしたdeferredの解決に依存しているdeferredは、もはや解決されなくなるでしょう。」

また、Willison氏は重要な差異として、rejectionコールバックでキャッチした例外を処理するのがより宣言的になり、開発者はPromiseを使うときに少なくとも1つのrejectionコールバックを追加する責任があると述べている。

その他の改善としては、アニメーション実行時のrequestAnimationFrame APIの使用がある。これによって、スムーズなアニメーションとモバイル機器のためのバッテリー節約が見込まれる。Willison氏によると、このアップデートは以前にも試みられたが、コードの互換性問題で中断されたという。ブラウザのタブが見えないときにアニメーションを停止することで、この問題は解決されるとチームは期待している。

多数の変更に加えて、jQuery 3.0はjQuery.ready Promiseを公式にサポートする。jQuery 1.8以来、jQuery.ready はPromiseライクなオブジェクトとして使われてきたが、オブジェクトはjQuery.whenやネイティブのPromise.resolve()でサポートされると明記された。典型的な使い方は次の通りだ。

$.when( $.ready, $.getScript("optional.js") ).then(function() {
   // the document is ready and optional.js has loaded/run
}).catch( function() {
   // an error occurred
})

できるだけ後方互換性を試みたものの、今回のリリースには破壊的変更がいくつか含まれている。jQuery coreに関して、jQueryは"use strict"付きでビルドされている。ただし、Strict Modeで動かす必要はないため、大部分の既存コードは変更する必要がないはずだ。

その他の破壊的変更としては、jQuery coreにおける非推奨の.context.selectorプロパティの削除や、data名の変更がある。3.0より、すべてのdata名はケバブケース (click-count) ではなく、キャメルケース (clickCount) でストアされる。

3.0の新機能や破壊的変更の詳細について、開発者はjQuery Core 3.0 Upgrade Guideを読むべきだ。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT