JSer.info #227 - Rubyist Magazine - 2015 年の JavaScript と babel の話という記事では、Babelによるtranspileを利用しながらES6で追加された機能や構文について紹介しています。
記事中にも書かれていますがtower-of-babelというインタラクティブに学べるツールも公開されていて、ES6は最終ドラフトがでていて現在進行形でブラウザ等で実装が進んでいるので、この機会に学んでみるのもいいと思います。
また、Hello, ES6 ~これから迎えるJSのミライ~ - @yoshiko_pgというスライドでも書かれていますが、最近はES6で書かれた(公開時にBabel等の変換したコードを使う)ライブラリ等も増えてきていてそのサンプルコード等もES6で書かれているケースが増えて来ていると思います。
構文だけではなくて仕様的な話などもっと深く見て行きたい場合はYou Don't Know JS: ES6 & Beyondや②ality – JavaScript and more等を見ることをオススメします。
npm update -g npm // Speaker Deckというスライドでは、パッケージ管理ツールであるnpmの最近の変更点や追加された機能などについて紹介されています。
npmはnpm install -g npm
することでNode.jsやio.jsのバージョンとは別でアップデート可能ですが、現在のNode.jsにバンドルされているのはnpm v2.5.1なので、そこからどのような変更があったかについて書かれています。
npmの変更点についてはThe npm Blog(翻訳)、GitHubのReleasesページを見ることで細かく見ていくことができると思います。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
ESLint 0.21.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2015/05/eslint-0.21.0-released
ESLint 0.21.0リリース。
eslint --init
で設定ファイルの作成をインタラクティブに行えるように、外部の設定ファイルを継承出来るようになり、またShareable Configsというドキュメントが追加された
React v0.13.3 | React
facebook.github.io/react/blog/2015/05/08/react-v0.13.3.html
React v0.13.3リリース。
ES6 Classesを使った時に非推奨メソッドの警告を改善、
dangerouslySetInnerHTML
で値がundefinedの時に例外を投げないようになるなど
アーティクル
Rubyist Magazine - 2015 年の JavaScript と babel の話
magazine.rubyist.net/?0050-ECMAScript2015
ES6の概要を紹介する記事
Deku: How we built our functional alternative to React
segment.com/blog/deku-our-functional-alternative-to-react/
Virtual DOMを持ち、Reactのようなライフサイクルを持つコンポーネントライブラリ。
ES6 Classesではなくライフサイクルに対応する関数をexportする形式となっていてthis
を気にせず書くことができる。
Babelのオプションを使いJSXで書くこともでき、Node.js上でも動作するためサーバサイドレンダリングが行える。
ファイルサイズが10kb程度。
Milliseconds Matter Modern JavaScript libraries: the isomorphic way
blog.algolia.com/modern-javascript-libraries-the-isomorphic-way/
Node.jsとブラウザどちらでも動くライブラリを書いていく記事。
faux-jaxを使ったXHRのテストをzuulで動かす。コールバックとPromiseのサポートについてやBrowserify等を使ったモジュールの変換、後方互換ガイドの書き方についてなど
Immutability in JavaScript
www.sitepoint.com/immutability-javascript/
immutable.jsを使ったJavaScriptでのImmutabilityの実現について。
実行コストはどうなのか、逆にどういう点でコストが小さくなるのか
The Core Concepts of Angular 2 | Victor Savkin
victorsavkin.com/post/118372404541/the-core-concepts-of-angular-2
AngularJS 2のコアコンセプトについて。
テンプレート、ライフサイクル、DI、コンポーネントなどの構成要素について。
A break from the past, part 2: Saying goodbye to ActiveX, VBScript, attachEvent…
MSEdgeで削除されたIE特有の機能などについて。(IEから引き継がなかった機能)
逆に-webkit-border-radius
のようなものを既存のウェブサイトの互換性のためにサポートしている
スライド、動画関係
npm update -g npm // Speaker Deck
speakerdeck.com/watilde/npm-update-g-npm
npmの最近の変更点についてのスライド
サイト、サービス、ドキュメント
Front-end Dev Weekly JP
front-end-dev-weekly-jp.github.io/
Front-end Dev Weeklyの翻訳
ソフトウェア、ツール、ライブラリ関係
jQuery - The Write Less, Do More, JavaScript Library
cyokodog.github.io/JS_STUDY/web-audio/presen/
Web Audio API、MediaStream Processing API、Web Speech API、Speech Recognition APIの紹介的なスライド
getify/es-feature-tests
github.com/getify/es-feature-tests
ECMAScript 6以降の機能についてfeature detectを実行して結果を取得するライブラリ
Challenger.js
練習問題などを作るライブラリ。
期待する結果をコードで書いて検証でき、また入力されるコードをASTのNode名などを使ったwhitelist、blacklist方式で制限できる
nkzawa/hyperd
virtual-domを使ったUIコンポーネントライブラリ。
html-to-domでHTMLからvirtual-domへの変換をすることで任意のテンプレートエンジンを使える。
また、コンポーネント自体がEventEmitterを継承している。