Fork me on GitHub

2015-10-08のJS: React 0.14、ESLintの使い方、ES6の末尾呼び出し最適化

Edit on GitHub 編集履歴を見る

JSer.info #248 - React v0.14が正式リリースされました。

reactreact-domへのパッケージの分割、refsの仕様変更、ステートレス関数コンポーネントの追加、react-toolsが非推奨となったり、react/addonsにあったモジュールを別パッケージとして分離するなど色々な変更が行われています。

機械的に変更できる部分はreact-codemodを使うことで移行できるようになっています。

その他の変更点については以下を参照してみると良いです。


ESLint v1.6.0がリリースされていますが、ESLint: The Next-Generation JavaScript Linter – Smashing Magazineという記事ではESLintとは何かということが作者本人により解説されています。

どのようにして使うのか、プラグインやルールの設定方法、Lintするだけではなく--fixでの修正などについても書かれています。

ESLintのプラグインの仕組みについては、以下で詳しい解説を書いたので合わせて読むと面白いかもしれません。


JavaScript - 末尾再帰による最適化 - Qiitaという記事では、ES6の仕様にも含まれている末尾再帰呼び出しの最適化について書かれています。

そもそもなぜ再帰呼び出しを行うとスタックオーバーフローが起きるのか、コールスタックとはどういうものなのかというように順を辿って解説されているので分かりやすいと思います。


ヘッドライン


React v0.14 | React

facebook.github.io/react/blog/2015/10/07/react-v0.14.html

React ReleaseNote

React 0.14の正式版リリース。
reactreact-domへのパッケージの分割、refsの仕様変更、ステートレスコンポーネントの追加、react-toolsが非推奨となるなど


Video.js Blog - Video.js 5: The Only Thing That’s Changed Is...

blog.videojs.com/post/130143694631/video-js-5

JavaScript library 動画 ReleaseNote

Video.js 5リリース。
ES6で書き直し、LessからSassへ移行、HLSをFlashなしでサポート、アクセシビリティの改善、pluginへの設定の渡し方を変更、CDNにFastlyを利用するようになるなど


Release v2.3.0 · jscs-dev/node-jscs

github.com/jscs-dev/node-jscs/releases/tag/v2.3.0

JavaScript Tools ReleaseNote

JSCS 2.3.0リリース。
disallowIdenticalDestructuringNamesdisallowNestedTernariesrequireSpaceAfterCommaのルールを追加


Node v4.1.2 (Stable) | Node.js

nodejs.org/en/blog/release/v4.1.2/

node.js ReleaseNote セキュリティ

Node.js 4.1.2リリース。
io.js 3.x以降にあるhttp serverのDoSに関するセキュリティ修正を含む。


ESLint v1.6.0 released - ESLint - Pluggable JavaScript linter

eslint.org/blog/2015/10/eslint-v1.6.0-released/

JavaScript Tools ReleaseNote

ESLint v1.6.0リリース。
--fix対応のルールを追加、no-undefルールにtypeofオプションの追加、envnashornを追加など


Ember.js - Ember.js 2.1 and 2.2 Beta Released

emberjs.com/blog/2015/10/04/ember-2-1-released.html

JavaScript library

Ember.js 2.1と2.2βリリース。


protractor/CHANGELOG.md at 2.5.0 · angular/protractor

github.com/angular/protractor/blob/2.5.0/CHANGELOG.md

JavaScript testing E2E ReleaseNote

Protractor 2.5.0リリース。
AngularJS 2のサポート、useAllAngularAppRootsオプションの追加


アーティクル


ESLint: The Next-Generation JavaScript Linter – Smashing Magazine

www.smashingmagazine.com/2015/09/eslint-the-next-generation-javascript-linter/

JavaScript Tools

ESLintの使い方、設定方法、プラグインについてなどの解説記事


エディタの実装をcycle.jsでMVIベースにしてみた話 - ✘╹◡╹✘

r7kamura.hatenablog.com/entry/2015/10/04/062333

JavaScript Rx 設計

cycle.jsのアーキテクチャについて。
「イベントソースを受け取ってイベントソースを返す関数」がどのように使われてるのか、MVIとはどういう責務での分離なのかについて。


Asynchronous code gets easier with ES2016 Async Function support in Chakra and Microsoft Edge | Microsoft Edge Dev Blog

blogs.windows.com/msedgedev/2015/09/30/asynchronous-code-gets-easier-with-es2016-async-function-support-in-chakra-and-microsoft-edge/

ECMAScript MSEdge

MSEdgeにフラグ付きで実装されてるasync/awaitについての記事。
async/awaitを使うことでどのように書けるか、動作原理やどのように実装されてるかについての解説


JavaScript - 末尾再帰による最適化 - Qiita

qiita.com/pebblip/items/cf8d3230969b2f6b3132

ECMAScript JavaScript

ES6の末尾呼び出し最適化の仕組みについて。
そもそもなぜスタックオーバーフローが起きるのか、コールスタックとは何か、どのように最適化が行われるのか、再帰関数のパターンについてよくまとまっている。


Customizing ES6 via well-known symbols

www.2ality.com/2015/09/well-known-symbols-es6.html

ECMAScript JavaScript

Symbolにデフォルトで定義されているwell-known symbolsの使い方について。
ECMAScriptのネイティブのメソッドはwell-known symbolsを参照するため、
それらのメソッドの対象となったオブジェクトの扱いを設定することが出来るという利用方法について。


Immutable Data Structures and JavaScript

jlongster.com/Using-Immutable-Data-Structures-in-JavaScript

JavaScript library

JavaScriptにおけるimmutableについて。
Reduxなどを使う際にImmutableオブジェクトが欲しくなるが、現状ではJS自体にはその仕様はない。
そのため、Immutable.jsやseamless-immutableなどのライブラリを使って実現するメリットとデメリットについて


スライド、動画関係


BrazilJS 2015 - YouTube

www.youtube.com/playlist?list=PLg2lQYZDBwORUpJTu5MxI71iEQIyc_Lno

JavaScript イベント 動画

BrazilJS 2015の動画まとめ


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


relax/relax

github.com/relax/relax

node.js React CMS

Node.jsとReactで作られてるCMS


staltz/flux-challenge

github.com/staltz/flux-challenge

Flux サンプル

Fluxアーキテクチャを使って実装する問題と回答のリポジトリ。
submissions/以下にそれぞれの回答があり、色々なFluxを使った実装が見られる。


Accelerated Mobile Pages Project

www.ampproject.org/

HTML spec

AMP HTMLというHTMLのサブセットの定義に則る事で、モバイルでも高速なページの表示が行える事を目的とした規格やライブラリ


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


jeffbski/wait-on · GitHub

github.com/jeffbski/wait-on

node.js library console Tools

色々な待ちパターンを行えるNode.js製のコマンドラインツール。 ファイルの存在確認、HTTP HEAD/GET、TCP、Socketのレスポンス待ちなどを行える


documentationjs

documentation.js.org/

JavaScript document

JSDocと同じフォーマットをサポートしたドキュメント生成ツール。
JSON、HTML、Markdownとして出力できる。


書籍関係


O'Reilly Japan - JavaScriptによるデータビジュアライゼーション入門

www.oreilly.co.jp/books/9784873117461/

JavaScript d3.js book

2015年10月21日発売
JavaScriptによるデータの可視化についての書籍


この記事へ修正リクエストをする
記事を紹介する