Fork me on GitHub

2016-07-11のJS: jQuery 3.1、Node.js 6.3、Web Animations API入門

Edit on GitHub 編集履歴を見る

JSer.info #287 - jQuery 3.1.0がリリースされました。

jQuery 3.0ではjQuery.readyはPromise A/+互換のDeferred Objectを使うようになっています。
そのため、次のようなコードは何もコンソールにエラーが表示されない状態になっていました。

$(function() {
  throw new Error("This is Error");
});
// ≒
jQuery.ready.then(function() {
  throw new Error("This is Error");
});

いわゆるunhandled rejectionとなってしまうため、次のように.catchでエラーハンドリングを行う必要がありました。

jQuery.ready.then(function() {
  throw new Error("This is Error");
}).catch(error => {
  console.error(error);
});

しかし、 $()はjQueryオブジェクトを返すため、エラーハンドリングを書くことができないという問題があります。

この問題についての詳細は Bugsnag Blog - A Warning About jQuery 3 で解説されています。

jQuery 3.1では今までと同じようにjQuery.ready内で起きたエラーをコンソールに表示します。
(自動的に.catchしてre-throwしています)

また、jQuery.readyException()という専用のエラーを受け取るメソッドを定義できるようになっています。

ついでにJavaScript Promiseの本もjQuery 3.xに対応した更新をしています。


Node v6.3.0がリリースされました。

--inspectのコマンドライン引数をつけてNode.jsを起動することで、Node.jsアプリに対してChromeの開発者ツールでリモートデバッグできるようになります。
CLIなどは一瞬で終わってしまうので、--debug-brkオプションを付けるとブレークした状態で開始できます。

node --inspect --debug-brk

以下の記事も参考になります。


Web Animations APIの基本的な使い方・まとめというサイトでは、Web Animations APIについて機能や挙動について学ぶ事ができます。

大量のサンプルと共に見ることができるので、興味がある人は見てみると良いです。

既にCSSアニメーションなどがあるのに、Web Animationsという仕様がでてきたのは以下のスライドを見てみるのが分かりやすいかもしれません。


ヘッドライン


jQuery 3.1.0 Released – No More Silent Errors | Official jQuery Blog

blog.jquery.com/2016/07/07/jquery-3-1-0-released-no-more-silent-errors/

jQuery ReleaseNote

jQuery 3.1.0リリース。
jQuery.readyExceptionready時に起きたエラーのログを取れるように


angular/CHANGELOG.md at 2.0.0-rc.4 · angular/angular

github.com/angular/angular/blob/2.0.0-rc.4/CHANGELOG.md

AngularJS ReleaseNote

Angular 2 RC4リリース。
テスト周りの構造が大きく変化し、JasmineではなくMochaでもテストを実行できるようになるなど


Node v6.3.0 (Current) | Node.js

nodejs.org/en/blog/release/v6.3.0/

node.js ReleaseNote

Node v6.3.0リリース。
buffer.swap64()の追加、shared libraryとしてNode.jsを使えるようにビルドオプションの追加、setImmediate()のパフォーマンス改善、V8 inspectorを実験的にサポートしChromeの開発者ツールでデバッグできるようになるなど


Release Notes for Safari Technology Preview Release 8 | WebKit

webkit.org/blog/6744/release-notes-for-safari-technology-preview-release-8/

safari ReleaseNote

Safari Technology Preview Release 8リリース。
ES6の実装完了、Apple Payのコードをリポジトリに移動、:focus-withinのサポートなど


アーティクル


Teach Access Portal

teachaccess.github.io/tutorial/

accessibility WAI-ARIA tutorial

WAI-ARIAなどのaccessibleなHTMLの書き方のチュートリアル。
実際に書きながら試す事ができる


Accessible SVGs | CSS-Tricks

css-tricks.com/accessible-svgs/

SVG accessibility WAI-ARIA

AccessibleなSVGの作り方について


metagrover/ES6-for-humans: A kickstarter guide to writing ES6.

github.com/metagrover/ES6-for-humans

JavaScript tutorial

ES6で増えた構文や機能の簡単な紹介


How well do you know CSS display?

www.chenhuijing.com/blog/how-well-do-you-know-display/

CSS

CSSのdisplayプロパティに指定できる値とそれぞれの挙動についての解説


Backbone.jsにReduxを導入してみる - Qiita

qiita.com/takeshy/items/2bca340ffa157841a482

backbone.js redux

Backbone.jsのみで管理していたStateをReduxを使い管理するようにしてみた話。
redux-devtools-extensionを使ってStateの変化を確認する方法について


スライド、動画関係


BlinkOn 6 - Munich, Germany - YouTube

www.youtube.com/watch?v=iCSAUHpPbiU

V8 Chrome 動画

BlinkOn 6の動画一覧


サイト、サービス、ドキュメント


Web Animations APIの基本的な使い方・まとめ

www.h2.dion.ne.jp/~defghi/webanim/webanim.htm

animation API JavaScript

Web Animations APIについての解説サイト。
実際に動かしながらアニメーションの作成方法について学ぶことができる


ソフトウェア、ツール、ライブラリ関係


paulirish/devtools-timeline-model: Parse raw trace data into the Chrome DevTools' structured profiling data models

github.com/paulirish/devtools-timeline-model

Chrome library performance

Chrome開発者ツールのTimelineデータの処理ライブラリ


boopathi/babel-minify: Some babel plugins and tools to minify ES6+ code

github.com/boopathi/babel-minify

babel library

Babelでminifyをするプラグインのpreset。
使ってないコードの削除、インライン化、mangleなどを行う


filipelinhares/ress: A modern CSS reset

github.com/filipelinhares/ress

CSS library

normalize.cssにいくつかデフォルト値やresetを追加したもの


thejameskyle/assert-equal-jsx: assertEqualJSX

github.com/thejameskyle/assert-equal-jsx

jsx testing library

JSXのタグ同士の比較を行うassertionライブラリ


declandewet/common-tags: Useful template literal tags for dealing with strings in ES2015+

github.com/declandewet/common-tags

ECMAScript library

Tagged Templateとして使える関数ライブラリ


書籍関係


JavaScript Functions… by Amin Meyghani [PDF/iPad/Kindle]

leanpub.com/javascript-closure

JavaScript book

JavaScriptの関数やクロージャー、prototypeなどについて扱う書籍。
$0から購入できる


Practical… by Daniel Schmitz et al. [Leanpub PDF/iPad/Kindle]

leanpub.com/vue

JavaScript book

Vue.jsについて書籍


この記事へ修正リクエストをする
JSer.info Slackに参加する