karino2 / karino2.github.io

This site is auto generated from issues.
7 stars 2 forks source link

Exploring ES6 #192

Closed karino2 closed 6 years ago

karino2 commented 6 years ago

あらすじ

なんだかんだでちょっとしたJSを書く機会が無くならないので、雑用を楽に書く為にES2015の便利機能も使いたいな、と思うようになる。 AndroidとPCの最新のChromeで動けばもう使ってもいいか、という感じなので。

MDNを見つつアロー演算子やfor of、テンプレートリテラル、destructuringあたりは使っていて、結構便利だな、と思ってた。ここらで一通り他の事も知っておいても良いかな、という気分になる。classと以前のコンストラクタやprototypeとのインターオペラビリティとか、generatorとかをちゃんと知りたい。 ただ趣味でちょっと書く程度なので、本気でスペシャリストになる気は無い。 古いブラウザとかBabelとかは全然興味無い。

自分は古い話になるがECMAScript 3は業務で使ってたレベルでプロフェッショナル。 なので、それを前提に、新機能についてちゃんと解説されてる本は何か無い?とomo先生に聞いたら、あんま詳しくないがExploring ES6とかどうなんだろう?と言われた。
web版をチラチラ読んだら悪く無さそうなので、epubを買って読む事に。

以前はpdfにこだわってたが、最近はepubもコード引用とかも結構まともに書かれるようになったし、久しぶりに起動したらPlay Booksも大分良くなってたので、読むのはepubでいいかなぁ、という気分に。一応pdfもダウンロードしておくが、多分見る事は無い気がする。

ページ送りとかが早いの大切だよねぇ。Perfect Viewerとかそろそろ辛い。誰か直さないかなぁ。forkしようかなぁ。でもなぁ。まぁいい。

karino2 commented 6 years ago

第一印象

最初ES6というタイトルだったのでES2015という名前になる前の本なのかと思ったが、ES2015の名前が言及されてるので、ES2015を知りたいという自分にも問題無いらしい。よしよし。

karino2 commented 6 years ago

第一章、バージョンの話

JScriptやJScript.NETまでは触ってたので、その後ES4がどうなったのかとかは興味はあったが全然知らなかったので、なかなか面白かった。

ただこういうのにはあんま深入りしたくないね。自分はもうwebの人じゃないので、ES2015を使う、過去の事はまぁどうでも良い、というスタンスを取りたい。

ただこの章、良く書けてるね。

karino2 commented 6 years ago

3章 One JavaScript

2章はFAQであまり得る物無しなのでこのブログ的には飛ばして三章。

strictで何が起こるのかちゃんと見たのはこれがはじめてかも。

バージョニングはES4の失敗をリアルタイムで見てたので「分かるわー」という印象が強い。ただdeprecated にしていく事は出来ると思うけどね。

karino2 commented 6 years ago

mobiでKindleも悪くないかも

フランス語でそろそろ使うかもしれないから、という事で久しぶりにpaperwhiteを取り出した。

で、ES6本もKindleで読みたいな、という事でmobiを送ってみた所、結構普通に読める。 コメントとかの色違いは見づらいが、そのくらいなら我慢も出来るし。 なんか画面のロックとかも無いし、バッテリの保ちがいいからつけっぱでもいいか、と思えるので、結果としてすぐ読めるのだよな。 それが気分良さにつながってる。

karino2 commented 6 years ago

4章 Core ES6 features

良く使うES6の新機能を簡単に説明した章。 むしろここだけでいいんじゃね?という位良く書けている。

spread operatorって使った事無かったので、この機会に覚える。11.8に詳細があるとの事なのでリンクを辿って一通り読む。ふむふむ。

classのあたりも15章のリンクを辿って読む。どういうprototypeに翻訳されるか、とかもちゃんと書いてあって、まさに自分が読みたかったあたりなので満足。良い本だね。

karino2 commented 6 years ago

4.18でmoduleがブラウザでは使えない、となってるが、ググったらimportとexportは最近のブラウザならどれでも動きそうだな。 よしよし。

karino2 commented 6 years ago

4章は素晴らしいな

読み終わったので感想とか。

ES6を知りたい、という人がどういう人かを良くわかってる本になっていて素晴らしい。

ES5についてはある程度の専門的な知識をちゃんと前提として書いてくれているので、知りたい所がちゃんと簡潔に書かれている。

以前のバージョンのJSを知らない人には真意が分かりづらい所もあるのだけど、ES6をちゃんと知りたい、という人の大多数はES5以前のJSはちゃんと詳しい、という事が多いと思うので、 ちゃんとES6という言語の特殊性を考慮に入れた素晴らしい構成と思う。
普通の言語とはいろいろ違うし、ましてやES6はさらにいろいろ違う。込み入った事態をちゃんと理解したい、と思う時点で、以前のバージョンに詳しいのは現実問題として前提にして良かろう。

実務で急いで使うなら、まず4章読んで、気になった所だけそこからリンク辿って読むだけでも十分かもしれない。

karino2 commented 6 years ago

5章 NumberとMathは流し読み

isSafeIntegerの説明で53bitだ、みたいな話を見る。 へー、こんなのも追加されてるのか。 JSは結構書いたが53bit越えて困った事は無いなぁ。

この章の内容はある程度浮動小数点とかのバックグラウンドが無いとさっぱりだろうな。

karino2 commented 6 years ago

6章のStringも読み飛ばし

テンプレート文字は8章との事なので、この章は流し読み。tagged templateは初めて知った。

karino2 commented 6 years ago

7章 Symbol

シンボルは初見なので真面目に読む。 同じ文字でも別のシンボル作れるのね。 そしてfor inでは表示されないって…

property nameとproperty symbolとかうんざり過ぎる。ES6はこういう言語になってしまったのね。

結果としてkeysではkeysは列挙されずにstring keysだけ列挙されます、とか。これは仕方ないね。

karino2 commented 6 years ago

iterable相当をシンボルで実現するのはなるほど、という気がする。 これはJS的やね。なかなか良い。

karino2 commented 6 years ago

Symbol読み終わった。 知らない事も多くて勉強になった。

なんかあんまりこういう記述がすっきりしてない言語機能は好きになれないが、 JSがこういうのが必要な段階に来ているというのは分かるので仕方ない。