Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Code Splitting For JavaScript, within ES2015++
Search
camcam_lemon
February 22, 2018
Programming
0
87
Code Splitting For JavaScript, within ES2015++
camcam_lemon
February 22, 2018
Tweet
Share
More Decks by camcam_lemon
See All by camcam_lemon
オレを実装してデザイン実装楽したい
lemon
0
60
要素のサイズを変えずに押しやすくする
lemon
0
78
iOSのキーボード入力ビューをカスタマイズする
lemon
0
260
視え方と文字の大きさ
lemon
1
420
Yarn WorkSpaces × React Nativeの環境構築
lemon
0
300
フロントエンドにおけるアーキテクチャとの向き合い方
lemon
10
5k
UI/UXデザイナーがデザインしてるもの
lemon
2
330
react-reduxで追加されたHooks APIの良い所と使い方
lemon
5
1k
ESLintで始めるTypeScriptの静的解析
lemon
8
2.1k
Other Decks in Programming
See All in Programming
関数実行の裏側では何が起きているのか?
minop1205
1
620
Level up your Gemini CLI - D&D Style!
palladius
1
180
AIコーディングエージェント(NotebookLM)
kondai24
0
130
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.3k
connect-python: convenient protobuf RPC for Python
anuraaga
0
360
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1.1k
React Native New Architecture 移行実践報告
taminif
1
130
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
150
AIコーディングエージェント(skywork)
kondai24
0
120
エディターってAIで操作できるんだぜ
kis9a
0
660
dnx で実行できるコマンド、作ってみました
tomohisa
0
140
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
320
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.7k
Automating Front-end Workflow
addyosmani
1371
200k
How GitHub (no longer) Works
holman
316
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Speed Design
sergeychernyshev
33
1.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Side Projects
sachag
455
43k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Optimizing for Happiness
mojombo
379
70k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
How STYLIGHT went responsive
nonsquared
100
5.9k
Transcript
Code splitting For JavaScript, within ES2015++
introduction library:React/Redux tools:Babel, webpack, gulp, ESLint, Lerna test:mocha, nyc, power-assert,
enzyme, sinon, testdouble.js
None
None
varは死罪 functionは大罪
“ 変数はconst, letで宣言 関数は => で記述
Contents ➢ 変数宣言 ➢ アロー関数 ➢ テンプレートリテラル ➢ スプレッド演算子 ➢
反復処理 ➢ 分割代入 ➢ モジュール ➢ クラス ➢ 非同期処理 ➢ ...other Proposal ES2015++ ➢ iterator/generator
Contents ➢ カリー化関数 ➢ オブジェクト操作 ➢ 配列操作 Co din g
app ro ach
変数宣言 const 再代入不可 let 再代入可能
None
letで宣言するべき...?
アロー関数 1. thisがレキシカルに決まる a. 宣言した箇所でthisが束縛される b. var that = this;
の呪縛から開放される!! c. call(), apply() メソッドは不要!! 2. 書き方が何パターンかある =>
None
None
None
None
テンプレートリテラル ``
スプレッド演算子 ...
分割代入 1. 必要なものだけ取り出せる 2. 別名で取り出すこともできる 3. やりすぎると可読性下げちゃうかも...
None
None
反復処理 for-of 1. 反復可能なオブジェクトに対して使える 2. airbnb社は非推奨の制御構文に指定している a. iterator / generator
変換が重い b. ベストプラクティスが他にある 3. async IteratorがES2018から実装される予定 かなり難しめ...
None
None
モジュール 1. JavaScriptファイルのimport/exportが可能に 2. 変数の巻き上げやグローバル汚染は起きない 3. node.jsのrequireとはちょっと違う
ex t im t re e ex t
None
None
クラス 1. 他言語と同じようにクラス定義できる 2. ただし、prototypeベースのクラス継承 3. モジュールのように使うことが多い
Fish . prototype . call = function () { count++;
return this.name; }
goldFish. . prototype = Object . create( Fish . protorype
);
非同期処理 1. コールバック地獄とはおさらば 2. Promise なんてもう古い!! 3. 時代は async/await だ!!
None
None
None
other ➢ コレクション ➢ 文字列パディング ➢ Symbol ➢ Array.isArray, Array.includes
➢ Object.values, Object.entries, Object.assign ➢ Object.getOwnPropertyDescriptors
iterator 1. 反復可能(イテラブル)なオブジェクトを取り出すオ ブジェクト 2. next()を必ず持ち、実行するとイテレータリザルト を返す 3. イテレータリザルトは必ず以下のキーを持つ a.
value(取得値) b. done(全取得完了かを示す真偽値)
None
generator 1. iteratorを関数ベースで実行する 2. 処理を途中で止めることができる(同期的に実行 することができる) 3. generatorが停止している間、他の処理をブロッキ ングしたりはしない
None
None
Thanks! Any questions?