├── .eslintrc
├── .gitignore
├── .md.eslintrc
├── .textlintrc
├── .travis.yml
├── .travis
└── github_deploy_key.enc
├── INTRO.md
├── README.md
├── SUMMARY.md
├── book.json
├── css
└── index.css
├── img
├── 2015-09-26_00-15-23.png
├── brian.png
└── es6-word.png
├── md
└── all.md
├── package.json
├── prh.yml
└── slide
├── 1.md
├── 10.md
├── 11.md
├── 12.md
├── 13.md
├── 14.md
├── 15.md
├── 16.md
├── 17.md
├── 18.md
├── 19.md
├── 2.md
├── 20.md
├── 21.md
├── 22.md
├── 23.md
├── 24.md
├── 25.md
├── 26.md
├── 27.md
├── 28.md
├── 29.md
├── 3.md
├── 30.md
├── 31.md
├── 32.md
├── 33.md
├── 34.md
├── 35.md
├── 36.md
├── 37.md
├── 4.md
├── 5.md
├── 6.md
├── 7.md
├── 8.md
└── 9.md
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "indent": [
4 | 2,
5 | 4
6 | ],
7 | "quotes": [
8 | 2,
9 | "double"
10 | ],
11 | "linebreak-style": [
12 | 2,
13 | "unix"
14 | ],
15 | "semi": [
16 | 2,
17 | "always"
18 | ],
19 | "no-console": 0,
20 | "no-var": 2
21 | },
22 | "env": {
23 | "es6": true,
24 | "node": true,
25 | "browser": true,
26 | "jquery": true,
27 | "mocha": true
28 | },
29 | "ecmaFeatures": {
30 | "modules": true
31 | },
32 | "extends": "eslint:recommended"
33 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ### https://raw.github.com/github/gitignore/408c616ae0ad8f4b8101d8e876b9b67ac6b14059/Node.gitignore
2 |
3 | # Logs
4 | logs
5 | *.log
6 |
7 | # Runtime data
8 | pids
9 | *.pid
10 | *.seed
11 |
12 | # Directory for instrumented libs generated by jscoverage/JSCover
13 | lib-cov
14 |
15 | # Coverage directory used by tools like istanbul
16 | coverage
17 |
18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
19 | .grunt
20 |
21 | # node-waf configuration
22 | .lock-wscript
23 |
24 | # Compiled binary addons (http://nodejs.org/api/addons.html)
25 | build/Release
26 |
27 | # Dependency directory
28 | # Commenting this out is preferred by some people, see
29 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
30 | node_modules
31 |
32 |
33 | ### https://raw.github.com/github/gitignore/408c616ae0ad8f4b8101d8e876b9b67ac6b14059/Global/JetBrains.gitignore
34 |
35 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
36 |
37 | *.iml
38 |
39 | ## Directory-based project format:
40 | .idea/
41 | # if you remove the above rule, at least ignore the following:
42 |
43 | # User-specific stuff:
44 | # .idea/workspace.xml
45 | # .idea/tasks.xml
46 | # .idea/dictionaries
47 |
48 | # Sensitive or high-churn files:
49 | # .idea/dataSources.ids
50 | # .idea/dataSources.xml
51 | # .idea/sqlDataSources.xml
52 | # .idea/dynamic.xml
53 | # .idea/uiDesigner.xml
54 |
55 | # Gradle:
56 | # .idea/gradle.xml
57 | # .idea/libraries
58 |
59 | # Mongo Explorer plugin:
60 | # .idea/mongoSettings.xml
61 |
62 | ## File-based project format:
63 | *.ipr
64 | *.iws
65 |
66 | ## Plugin-specific files:
67 |
68 | # IntelliJ
69 | out/
70 |
71 | # mpeltonen/sbt-idea plugin
72 | .idea_modules/
73 |
74 | # JIRA plugin
75 | atlassian-ide-plugin.xml
76 |
77 | # Crashlytics plugin (for Android Studio and IntelliJ)
78 | com_crashlytics_export_strings.xml
79 | crashlytics.properties
80 | crashlytics-build.properties
81 |
82 |
83 | # Book build output
84 | _book
85 |
86 | # eBook build output
87 | *.epub
88 | *.mobi
89 | *.pdf
--------------------------------------------------------------------------------
/.md.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "no-undef": 0,
4 | "no-unused-vars": 0
5 | },
6 | "plugins": [
7 | "markdown"
8 | ],
9 | "extends": ".eslintrc"
10 | }
--------------------------------------------------------------------------------
/.textlintrc:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "spellcheck-tech-word": true,
4 | "no-mix-dearu-desumasu": false,
5 | "no-start-duplicated-conjunction": {
6 | "interval": 2
7 | },
8 | "prh": {
9 | "rulePaths": [
10 | "prh.yml"
11 | ]
12 | },
13 | "preset-jtf-style": {
14 | "r1.1.1.本文": false,
15 | "4.3.8.一重引用符": false,
16 | "2.1.2.漢字": false,
17 | "4.2.2.疑問符(?)": false,
18 | "4.2.7.コロン(:)": false,
19 | "2.1.6.カタカナの長音": false,
20 | "2.1.5.カタカナ": false,
21 | "3.1.1.全角文字と半角文字の間": false,
22 | "4.2.6.ハイフン(-)": false,
23 | "4.3.1.丸かっこ()": false
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 | language: node_js
3 | node_js: stable
4 | after_success:
5 | - |
6 |
7 | $(npm bin)/set-up-ssh --key "$encrypted_c726a34f4465_key" \
8 | --iv "$encrypted_c726a34f4465_iv" \
9 | --path-encrypted-key ".travis/github_deploy_key.enc"
10 |
11 | $(npm bin)/update-branch --commands "npm run build" \
12 | --commit-message "Update Build [skip ci]" \
13 | --directory "_book" \
14 | --distribution-branch "gh-pages" \
15 | --source-branch "master"
--------------------------------------------------------------------------------
/.travis/github_deploy_key.enc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azu/slide-what-is-ecmascript/85e71facb06f426c0fb67d681495fc803e7fb3bc/.travis/github_deploy_key.enc
--------------------------------------------------------------------------------
/INTRO.md:
--------------------------------------------------------------------------------
1 | # ECMAScriptとは何か?
2 |
3 | ECMAScriptの嘘は嘘と見抜けるように
4 |
5 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # [ECMAScriptとは何か?](https://github.com/azu/slide-what-is-ecmascript) [](https://travis-ci.org/azu/slide-what-is-ecmascript)
2 |
3 |
4 | - WebPage: http://azu.github.io/slide-what-is-ecmascript/
5 | - GitHub : https://github.com/azu/slide-what-is-ecmascript
6 |
7 | ## Install
8 |
9 | npm instal
10 |
11 | ## Usage
12 |
13 | Open GitBook preview
14 |
15 | npm start
16 | # Serving book on http://localhost:4000
17 |
18 | ## Tests
19 |
20 | npm test
21 |
22 | ## Contributing
23 |
24 | 1. Fork it!
25 | 2. Create your feature branch: `git checkout -b my-new-feature`
26 | 3. Commit your changes: `git commit -am 'Add some feature'`
27 | 4. Push to the branch: `git push origin my-new-feature`
28 | 5. Submit a pull request :D
29 |
30 | ## License
31 |
32 | MIT
33 |
--------------------------------------------------------------------------------
/SUMMARY.md:
--------------------------------------------------------------------------------
1 | - [自己紹介](slide/1.md)
2 | - [ECMAScriptとは?](slide/2.md)
3 | - [ECMA-262](slide/3.md)
4 | - [TC39](slide/4.md)
5 | - [ECMAScript 6 / 2015の呼び方](slide/5.md)
6 | - [ES6のエディタ](slide/6.md)
7 | - [Ecma標準とISO標準の違い](slide/7.md)
8 | - [ECMAScript 7 / 2016](slide/8.md)
9 | - [ES.nextのエディタ](slide/9.md)
10 | - [ES.nextと策定プロセス](slide/10.md)
11 | - [5段階のStage](slide/11.md)
12 | - [TC39 Process: Stage](slide/12.md)
13 | - [例) do式](slide/13.md)
14 | - [ブラウザに実装 ≠ 仕様に入る](slide/14.md)
15 | - [何で1年ごとにリリースするの?](slide/15.md)
16 | - [誰がプロポーザル書いてるの?](slide/16.md)
17 | - [新しいプロポーザルを提案するには](slide/17.md)
18 | - [ECMAScriptとGitHub](slide/18.md)
19 | - [仕様についてはどこで議論?](slide/19.md)
20 | - [最近の面白い議論の流れ](slide/20.md)
21 | - [結局ECMAScript 2016って何が入るの?](slide/21.md)
22 | - [ECMAScriptに静的型って入るの?](slide/22.md)
23 | - [Ecmarkup](slide/23.md)
24 | - [Wordだった頃の様子](slide/24.md)
25 | - [ES.nextの進捗](slide/25.md)
26 | - [次の仕様っていつリリースされるの?](slide/26.md)
27 | - [ECMAScriptとModuleとWHATWG](slide/27.md)
28 | - [ES6に入らなかったプロポーザルって?](slide/28.md)
29 | - [ECMAScriptの実装ってどれぐらいあるの?](slide/29.md)
30 | - [ECMAScriptの実装状況ってどうなの?](slide/30.md)
31 | - [Transpilerって何?](slide/31.md)
32 | - [Transpiler is not Learning tools](slide/32.md)
33 | - [Polyfillって何?](slide/33.md)
34 | - [ずっとBabelを使い続けるのか?](slide/34.md)
35 | - [Contributing](slide/35.md)
36 | - [こんな機能ってES.nextに入るの?](slide/36.md)
37 | - [もっと知りたい](slide/37.md)
--------------------------------------------------------------------------------
/book.json:
--------------------------------------------------------------------------------
1 | {
2 | "gitbook": ">=2.0.0",
3 | "name": "what-is-ecmascript",
4 | "title": "ECMAScriptとは何か?",
5 | "description": "ECMAScriptの仕様と策定について",
6 | "structure": {
7 | "readme": "INTRO.md"
8 | },
9 | "styles": {
10 | "website": "css/index.css"
11 | },
12 | "plugins": ["-fontsettings"],
13 | "pluginsConfig": {
14 | "fontSettings": {
15 | "theme": "night",
16 | "size": 3
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/css/index.css:
--------------------------------------------------------------------------------
1 | /* h1 size == h2 size */
2 | .book .book-body .page-wrapper .page-inner section.normal h1 {
3 | font-size: 1.75em;
4 | }
5 |
6 | /* expand width of inner*/
7 | .page-inner {
8 | max-width: 85% !important;
9 | }
10 |
11 | /*
12 | Deckset like notation
13 |
14 | 
15 | 
16 | */
17 | img[alt *="right"] {
18 | float: right;
19 | margin-left: 1.1em;
20 | }
21 |
22 | img[alt *="left"] {
23 | float: left;
24 | margin-right: 1.1em;
25 | }
26 |
27 | img[alt *="center"] {
28 | margin: 0 auto;
29 | display: block;
30 | }
--------------------------------------------------------------------------------
/img/2015-09-26_00-15-23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azu/slide-what-is-ecmascript/85e71facb06f426c0fb67d681495fc803e7fb3bc/img/2015-09-26_00-15-23.png
--------------------------------------------------------------------------------
/img/brian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azu/slide-what-is-ecmascript/85e71facb06f426c0fb67d681495fc803e7fb3bc/img/brian.png
--------------------------------------------------------------------------------
/img/es6-word.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/azu/slide-what-is-ecmascript/85e71facb06f426c0fb67d681495fc803e7fb3bc/img/es6-word.png
--------------------------------------------------------------------------------
/md/all.md:
--------------------------------------------------------------------------------
1 | # 自己紹介
2 |
3 | 
4 |
5 | - Name : **azu**
6 | - Twitter : @[azu_re](https://twitter.com/azu_re)
7 | - Website: [Web scratch], [JSer.info]
8 |
9 | [Web scratch]: http://efcl.info/ "Web scratch"
10 | [JSer.info]: http://jser.info/ "JSer.info"
11 |
12 | ----
13 |
14 | # ECMAScriptとは?
15 |
16 | - [Ecma International](http://www.ecma-international.org/default.htm "Ecma International")によって標準化されてるJavaScriptの仕様の事
17 | - 仕様: ECMAScript
18 | - 実装: JavaScript
19 | - Stableな最新版はECMAScript 2015(aka. ES6)
20 |
21 | ------
22 |
23 | # ECMA-262
24 |
25 | - ECMAScriptの事
26 | - _262_はEcma Internationalでの管理番号
27 | - [Ecma Standards - list](http://www.ecma-international.org/publications/standards/Standard.htm "Ecma Standards - list")
28 |
29 |
30 | ------
31 |
32 | # TC39
33 |
34 | - Technical Committee = 専門委員会
35 | - [TC39](http://www.ecma-international.org/memento/TC39.htm): ECMAScriptを策定してる専門委員会のこと
36 | - Ecmaは色々な仕様を策定しているので、その中でECMAScriptを策定してるグループの名前がTC39
37 | - ちなみに同じくEcma標準化されてるDartは[TC52](http://www.ecma-international.org/memento/TC52.htm)
38 |
39 | ------
40 |
41 | # ECMAScript 6 / 2015の呼び方
42 |
43 | - 一応の正式名称はECMAScript 2015。通称はES6
44 | - ES6から1年毎にリリースしていく予定のため、2015, 2016…となるように変更された
45 |
46 | > ES2015が正式名称であり、来年以降のECMAScriptの策定やリリースのスタイルに名称を合わせるというのが理由
47 |
48 | - [ES6 or ES2015 ?](http://blog.cybozu.io/entry/9081 "ES6 or ES2015 ? 〜WEB+DB PRESS Vol.87 ES6特集に寄せて〜 - Cybozu Inside Out | サイボウズエンジニアのブログ")
49 |
50 | -----
51 |
52 | ## ES6のエディタ
53 |
54 | [](https://twitter.com/awbjs "Allen Wirfs-Brock (@awbjs) | Twitter")
55 |
56 | - Allen Wirfs-Brock(アレン・ワーフスブラック) @ Mozilla [family business](https://twitter.com/awbjs/status/649995551467945984)
57 | - [@awbjs](https://twitter.com/awbjs "@awbjs")
58 |
59 | ------
60 |
61 | # Ecma標準とISO標準の違い
62 |
63 | - ECMAScriptは
64 | - デファクト標準([Ecma International](http://www.ecma-international.org/default.htm "Ecma International")により標準化)
65 | - デジュール標準(ISO標準化 [ISO/IEC 16262](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=55755 "ISO/IEC 16262"))
66 | - 2つの標準化されたものを持ってるけどデファクトの方しか基本見てない
67 | - 日本ではISO/IEC JTC1/SC22のECMAScript Adhoc委員会[@azu](https://github.com/azu)もレビュアとして参加
68 |
69 |
70 | ------
71 |
72 | # ECMAScript 7 / 2016
73 |
74 | - 大抵の場合は次(ES6の次)のECMAScriptの事
75 | - 「ES7のDecoratorについて」といった言い方はまだ仕様に入ることすら決まってないので話半分
76 | - 「次期ECMAScriptに提案されているDecoratorについて」というのがより正確
77 | - 次期ECMAScriptの事をECMAScript nextとかES.nextと言ったりもする
78 |
79 | ------
80 |
81 | # ES.nextのエディタ
82 |
83 | [](https://twitter.com/bterlson)
84 |
85 | - Brian Terlson(ブライアン・テルソン) @ Microsoft
86 | - [@bterlson](https://twitter.com/bterlson "@bterlson")
87 |
88 | ------
89 |
90 | # ES.nextと策定プロセス
91 |
92 | - ECMAScript 2016からは機能ごとに仕様のプロポーザル(提案)を出し策定
93 | - それぞれのプロポーザルには**Stage**と呼ばれる5段階のラベルがある
94 | - 1年ごとに新しいECMAScript仕様がリリースされる
95 | - Stage 4となったプロポーザルは次期ECMAScriptに取り込まれ、正式にECMAScriptの仕様となる
96 |
97 | ------
98 |
99 | ## 5段階のStage
100 |
101 | - 0 Strawman - アイデア
102 | - 1 Proposal - 提案
103 | - 2 Draft - ドラフト
104 | - 3 Candidate- 仕様書と同じ形式
105 | - 4 Finished - 策定完了
106 |
107 | 次期ECMAScriptは1年ごとに出るので、その時までにStage 4となったものが次期ECMAScriptに入る。
108 |
109 | ----
110 |
111 | # TC39 Process: Stage
112 |
113 | 詳しくは[The TC39 Process](https://tc39.github.io/process-document/ "The TC39 Process")を読む。
114 | Stageは条件を満たすと1つずつアップする
115 |
116 | - Stage 0: Strawman
117 | - アイデア
118 | - Stage 1: Proposal
119 | - プロポーザルの目的や解決方法を示す
120 | - Polyfillやデモ等を用いて解説する
121 | - Stage 2: Draft
122 | - いわゆるドラフト
123 | - ECMAScript標準と同じルールでAPIや構文、セマンティックについて説明していなければならない
124 | - Stage 3: Candidate
125 | - 仕様は完成した状態
126 | - 実装や外部のフィードバックを求める状態
127 | - レビュアはその仕様策定者以外ならだれでもなれるが専門的な知識を持っている必要がある
128 | - ECMAScriptのエディタがチェックする必要があり
129 | - Stage 4: Finished
130 | - 2つの実装(not Polyfill)が必要
131 | - ECMAScriptへ取り込まれる準備が完了したことを示す状態
132 | - ECMAScriptのエディタがチェックする必要があり
133 |
134 | ------
135 |
136 | ## 例) do式
137 |
138 | 
139 |
140 | - [do式が実装された - JS.next](http://js-next.hatenablog.com/entry/2015/10/23/193955 "do式が実装された - JS.next")
141 | - 今の時点でStage 0なのでES7で入ることはほぼない
142 |
143 | -----
144 |
145 | ## ブラウザに実装 ≠ 仕様に入る
146 |
147 | - ブラウザに実装されても仕様に入るとは限らない
148 | - [`Object.observe`はプロポーザルから取り下げる予定](https://esdiscuss.org/topic/an-update-on-object-observe "An update on Object.observe")
149 | - プロポーザルを出してる人の半分はブラウザベンダーなので実験的に実装するケース
150 | - 机上の空論では困るので、実装に問題ない、現実に即しているかなどを検証
151 |
152 | ----
153 |
154 | ## 何で1年ごとにリリースするの?
155 |
156 | ES6はリリースするまで結局6年かかったため、もっとスピードアップするため。
157 |
158 | 
159 |
160 |
161 | ------
162 |
163 | ## 誰がプロポーザル書いてるの?
164 |
165 | - ブラウザベンダー
166 | - ウェブ開発者
167 | - あなた
168 |
169 | [tc39/proposals](https://github.com/tc39/proposals)にプロポーザル一覧とStageが載っている。
170 |
171 |
172 | ------
173 |
174 | # 新しいプロポーザルを提案するには
175 |
176 | 一行で書くと[tc39/proposals](https://github.com/tc39/proposals)の`stage0.md`にプロポーザルを追加してPull Request
177 |
178 | 1. 仕様策定のプロセスを理解しましょう
179 | 2. フォームから必要な情報送ってルールに同意してね
180 | 3. ProposalをPull Requestしましょう
181 |
182 | ----
183 |
184 | # ECMAScriptとGitHub
185 |
186 | ECMAScript 2016のドラフトはGitHubで公開されている。
187 |
188 | - [tc39/ecma262](https://github.com/tc39/ecma262 "tc39/ecma262")
189 |
190 |
191 | ------
192 |
193 | # 仕様についてはどこで議論?
194 |
195 | - メーリングリスト
196 | - [ES Discuss](https://esdiscuss.org/ "ES Discuss")
197 | - ECMAScriptのGitHub Issue
198 | - [tc39/ecma262](https://github.com/tc39/ecma262 "tc39/ecma262")
199 | - 各種プロポーザルのGitHub Issue
200 | - [tc39/proposals](https://github.com/tc39/proposals)
201 | - ECMAScriptのBugzilla
202 | - [bugs.ecmascript.org](https://bugs.ecmascript.org/)
203 | - SNS
204 | - Twitter/GitHub/Google+
205 |
206 | ------
207 |
208 | ## 最近の面白い議論の流れ
209 |
210 | - ウェブ開発者が「ES6のこのdestructuringにユーザーを混乱させる罠がある」
211 | - [ECMAScript 6 destructuring gotcha - NCZOnline](https://www.nczonline.net/blog/2015/10/ecmascript-6-destructuring-gotcha/ "ECMAScript 6 destructuring gotcha - NCZOnline")
212 | - Allen(ES6エディタ)が仕様に対してIssueを立てる
213 | - [Destructuring declarations that bind nothing should probably be an early error · Issue #97 · tc39/ecma262](https://github.com/tc39/ecma262/issues/97 "Destructuring declarations that bind nothing should probably be an early error · Issue #97 · tc39/ecma262")
214 | - GitHubで絶賛議論中
215 |
216 | ----
217 |
218 | # 結局ECMAScript 2016って何が入るの?
219 |
220 | - 基本的にはES6(ECMAScript 2015)のバグ修正
221 | - 加えて、2016年1月中にStage 4となってるプロポーザルが入る
222 |
223 | 可能性としてありえるのは以下の仕様あたり。
224 |
225 | - [tc39/ecmascript-asyncawait](https://github.com/tc39/ecmascript-asyncawait)
226 | - [tc39/Array.prototype.includes](https://github.com/tc39/Array.prototype.includes/)
227 | - [rwaldron/exponentiation-operator](https://github.com/rwaldron/exponentiation-operator)
228 |
229 | -----
230 |
231 | ## ECMAScriptに静的型って入るの?
232 |
233 | - 今のところプロポーザルのリストにはない
234 | - 話としては出てきた事あるけど、まだ提案の形になってない
235 | - [tc39-notes/jan-28.md at master · rwaldron/tc39-notes](https://github.com/rwaldron/tc39-notes/blob/master/es6/2015-01/jan-28.md#experimental-new-directions-for-javascript-at-google)
236 | - [sirisian/ecmascript-types](https://github.com/sirisian/ecmascript-types)
237 |
238 |
239 | ----
240 |
241 | # Ecmarkup
242 |
243 | - 今までのECMAScript(6まで)はWordファイル
244 | - ES.nextでは[Ecmarkup](http://bterlson.github.io/ecmarkup/ "Ecmarkup")を使ったHTMLベース
245 |
246 | ```html
247 |
248 | SourceCharacter::any Unicode code point
249 |
250 | ```
251 |
252 | [Ecmarkup](http://bterlson.github.io/ecmarkup/ "Ecmarkup")は仕様書向けのCustom Elementを定義したHTML。
253 |
254 | -----
255 |
256 | ## Wordだった頃の様子
257 |
258 | 
259 |
260 | ------
261 |
262 | # ES.nextの進捗
263 |
264 | - [tc39/proposals](https://github.com/tc39/proposals)にプロポーザルの進捗が載ってる
265 | - Stageは2か月に一度行われるTC39のミーティングにより変化する
266 | - ミーティングの記録を読めばいい
267 | - [rwaldron/tc39-notes](https://github.com/rwaldron/tc39-notes "rwaldron/tc39-notes")
268 |
269 | ------
270 |
271 | # 次の仕様っていつリリースされるの?
272 |
273 | - ECMAScript 2016のリリース予定は2016年の6月15-16日
274 | - Ecmaの[General Assembly](http://www.ecma-international.org/memento/GA.htm "General Assembly")(GA)で正式に承認された後にリリース
275 | - 次にGAが行われるのは2016年6月15-16日
276 |
277 | ------
278 |
279 | # ECMAScriptとModuleとWHATWG
280 |
281 | Module loaderはES6から外されたけど、[whatwg/loader](https://github.com/whatwg/loader "whatwg/loader")で議論されてる。
282 |
283 |
284 |
285 | ------
286 |
287 | # ES6に入らなかったプロポーザルって?
288 |
289 | 仕様として提案されたが、ES6には入らなかったものも多い。
290 |
291 | 仕様そのものが良くない、仕様策定に時間がかかる(Module loaderはコレ)など理由は色々。
292 |
293 | - [ECMAScript没proposal追悼式](http://www.slideshare.net/KMC_JP/ecmascriptproposal "ECMAScript没proposal追悼式")
294 |
295 |
296 |
297 | ------
298 |
299 | # ECMAScriptの実装ってどれぐらいあるの?
300 |
301 | ES.nextの仕様に入るには2つ以上の実装が必要
302 |
303 | - [Chakra](https://msdn.microsoft.com/en-us/library/dn249673\(v=vs.94\).aspx) @ MicroSoft
304 | - [SpiderMonkey](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey "SpiderMonkey") @ Mozilla
305 | - [V8](https://code.google.com/p/v8/ "V8") @ Google
306 | - [JavaScriptCore](https://www.webkit.org/projects/javascript/ "JavaScriptCore") @ Apple
307 |
308 | ------
309 |
310 | # ECMAScriptの実装状況ってどうなの?
311 |
312 | [ECMAScript 6 compatibility table](http://kangax.github.io/compat-table/es6/ "ECMAScript 6 compatibility table")で、ブラウザの実装状況を見ることが出来ます。
313 |
314 | それぞれのブラウザの更新履歴などについては以下を参照。
315 |
316 | - [azu/browser-javascript-resource](https://github.com/azu/browser-javascript-resource "azu/browser-javascript-resource")
317 |
318 |
319 |
320 | ------
321 |
322 | # Transpilerって何?
323 |
324 | - Code to Codeの変換を行うツール
325 | - ECMAScriptではES6以降のコードをES5のコードに変換する[Babel](https://babeljs.io/ "Babel")
326 | - CSSでは[PostCSS](https://github.com/postcss/postcss "PostCSS")とか
327 |
328 | -------
329 |
330 | ## Transpiler is not Learning tools
331 |
332 | 
333 |
334 | ------
335 |
336 | # Polyfillって何?
337 |
338 | - 一種のライブラリ
339 | - 仕様で策定されている機能だが、古いブラウザなどではまだ実装されていない時に、APIが全く同じ互換実装を提供するライブラリ
340 | - 構文じゃなくてオブジェクトを提供する
341 | - PromiseとかはPolyfillできる
342 |
343 | ------
344 |
345 | # ずっとBabelを使い続けるのか?
346 |
347 | - YES and NO
348 | - 仕様策定的には使ってもらえるとフィードバックが来やすいので歓迎
349 | - 普通に使うだけならES6の機能 + ライブラリでも十分に使える
350 | - 新しい仕様を試したくない場合は別にBabelを使わなくなるというのはあり得る
351 |
352 | ------
353 |
354 | ## Contributing
355 |
356 | - ES.nextは殆どの仕様がGitHubにおいてある
357 | - これはW3CやWHATWGも同じ傾向
358 | - ECMAScriptの仕様自体がGitHubにある
359 | - 普通にIssueを立ててPull Requestしましょう!
360 | - [tc39/proposals](https://github.com/tc39/proposals)
361 |
362 |
363 | ------
364 |
365 | # こんな機能ってES.nextに入るの?
366 |
367 | 検索しましょう。続きはウェブで!
368 |
369 |
374 |
375 | -----
376 |
377 |
378 | # もっと知りたい
379 |
380 | - [ECMAScriptの仕様策定に関するカンニングペーパー | Web Scratch](http://efcl.info/2015/10/18/ecmascript-paper/ "ECMAScriptの仕様策定に関するカンニングペーパー | Web Scratch")
381 | - もうちょっと色々かいてある
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "license": "MIT",
4 | "version": "1.0.0",
5 | "directories": {
6 | "test": "test"
7 | },
8 | "scripts": {
9 | "postinstall": "gitbook install",
10 | "prepublish": "npm run build",
11 | "start": "npm run split && gitbook serve",
12 | "build": "npm run split && gitbook build",
13 | "split": "markdown-splitter ./md/all.md -o slide/ --summary ./SUMMARY.md",
14 | "eslint": "eslint src/**/*.js",
15 | "eslint:md": "eslint -c .md.eslintrc --ext .md md/*.md",
16 | "textlint": "textlint -f pretty-error md/*.md",
17 | "test": "npm-run-all --parallel textlint eslint:md eslint build"
18 | },
19 | "keywords": [
20 | "gitbook",
21 | "textlint"
22 | ],
23 | "devDependencies": {
24 | "@alrra/travis-scripts": "^3.0.1",
25 | "eslint": "^2.10.1",
26 | "eslint-plugin-markdown": "git://github.com/eslint/eslint-plugin-markdown.git",
27 | "gitbook-cli": "^2.1.3",
28 | "gitbook-plugin-include-codeblock": "^1.4.0",
29 | "gitbook-plugin-japanese-support": "0.0.1",
30 | "gitbook-summary-to-path": "^1.0.1",
31 | "markdown-splitter": "^1.0.5",
32 | "mdast": "^3.0.0",
33 | "mkdirp": "^0.5.1",
34 | "mocha": "^2.2.5",
35 | "nlcst-to-string": "^1.0.0",
36 | "npm-run-all": "^2.1.0",
37 | "power-assert": "^1.0.0",
38 | "remark": "^4.2.2",
39 | "sanitize-filename": "^1.4.5",
40 | "string.prototype.repeat": "^0.2.0",
41 | "textlint": "^6.8.0",
42 | "textlint-rule-max-ten": "^2.0.1",
43 | "textlint-rule-no-mix-dearu-desumasu": "^3.0.0",
44 | "textlint-rule-no-start-duplicated-conjunction": "^1.0.3",
45 | "textlint-rule-preset-jtf-style": "^2.2.0",
46 | "textlint-rule-prh": "^3.0.1",
47 | "textlint-rule-spellcheck-tech-word": "^5.0.0"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/prh.yml:
--------------------------------------------------------------------------------
1 | version: 1
2 | rules:
3 |
4 | # 大文字小文字全角半角の統一
5 | - expected: Cookie
6 | # 以下と等価 正規表現には強制でgフラグが付く
7 | # - expected: Cookie
8 | # pattern: "/[CcCc][OoOo][OoOo][KkKk][IiIi][EeEe]/g"
9 | # options:
10 | # wordBoundary: false
11 | # specs: []
12 |
13 | # 正規表現で置換もできる
14 | - expected: ECMAScript $1
15 | pattern: /ECMAScript([0-9]+)/
16 | # 変換結果についてテストも書ける
17 | - expected: jQuery
18 | specs:
19 | - from: jquery
20 | to: jQuery
21 | - from: JQUERY
22 | to: jQuery
23 |
24 | # 変換結果が期待通りではなかった場合、ルールのロードに失敗する
25 | # - expected: JavaScript
26 | # specs:
27 | # - from: JAVASCRIPT
28 | # to: JavaScprit # この場合はテスト側が間違ってる!
29 | # Error: JavaScript spec failed. "JAVASCRIPT", expected "JavaScprit", but got "JavaScript", /[JjJj][AaAa][VvVv][AaAa][SsSs][CcCc][RrRr][IiIi][PpPp][TtTt]/g
30 |
31 | # 表現の統一を図る
32 | - expected: デフォルト
33 | pattern: ディフォルト
34 |
35 | # patternは複数記述可能
36 | - expected: ハードウェア
37 | pattern:
38 | - ハードウエアー
39 | - ハードウエア # 正規表現に変換する都合上短いものを後に書いたほうがよい
40 | - ハードウェアー
41 |
42 | # patternには正規表現が利用可能 否定戻り先読みが欲しい…(JSにはない
43 | - expected: $1ソフトウェア
44 | pattern: /([^経])ソフトウエア/
45 | specs:
46 | # 普通に変換
47 | - from: 広義のソフトウエア
48 | to: 広義のソフトウェア
49 | # 日経ソフトウエア(書名)は変換しない
50 | - from: 日経ソフトウエア
51 | to: 日経ソフトウエア
52 |
53 | # 単語境界の区別
54 | - expected: js
55 | # pattern: "/\b[JjJj][SsSs]\b/g" # と等価 \b が前後に付与される
56 | options:
57 | wordBoundary: true
58 | specs:
59 | - from: foo JS bar
60 | to: foo js bar
61 | - from: foo altJS bar
62 | to: foo altJS bar
63 | # 日本語+単語境界の仕様は自分で調べてね…!
64 | - from: 今日もJS祭り
65 | to: 今日もjs祭り
66 |
--------------------------------------------------------------------------------
/slide/1.md:
--------------------------------------------------------------------------------
1 | # 自己紹介
2 |
3 | 
4 |
5 | - Name : **azu**
6 | - Twitter : @[azu_re](https://twitter.com/azu_re)
7 | - Website: [Web scratch], [JSer.info]
8 |
9 | [web scratch]: http://efcl.info/ "Web scratch"
10 |
11 | [jser.info]: http://jser.info/ "JSer.info"
12 |
--------------------------------------------------------------------------------
/slide/10.md:
--------------------------------------------------------------------------------
1 | # ES.nextと策定プロセス
2 |
3 | - ECMAScript 2016からは機能ごとに仕様のプロポーザル(提案)を出し策定
4 | - それぞれのプロポーザルには**Stage**と呼ばれる5段階のラベルがある
5 | - 1年ごとに新しいECMAScript仕様がリリースされる
6 | - Stage 4となったプロポーザルは次期ECMAScriptに取り込まれ、正式にECMAScriptの仕様となる
7 |
--------------------------------------------------------------------------------
/slide/11.md:
--------------------------------------------------------------------------------
1 | ## 5段階のStage
2 |
3 | - 0 Strawman - アイデア
4 | - 1 Proposal - 提案
5 | - 2 Draft - ドラフト
6 | - 3 Candidate- 仕様書と同じ形式
7 | - 4 Finished - 策定完了
8 |
9 | 次期ECMAScriptは1年ごとに出るので、その時までにStage 4となったものが次期ECMAScriptに入る。
10 |
--------------------------------------------------------------------------------
/slide/12.md:
--------------------------------------------------------------------------------
1 | # TC39 Process: Stage
2 |
3 | 詳しくは[The TC39 Process](https://tc39.github.io/process-document/ "The TC39 Process")を読む。
4 | Stageは条件を満たすと1つずつアップする
5 |
6 | - Stage 0: Strawman
7 | - アイデア
8 | - Stage 1: Proposal
9 | - プロポーザルの目的や解決方法を示す
10 | - Polyfillやデモ等を用いて解説する
11 | - Stage 2: Draft
12 | - いわゆるドラフト
13 | - ECMAScript標準と同じルールでAPIや構文、セマンティックについて説明していなければならない
14 | - Stage 3: Candidate
15 | - 仕様は完成した状態
16 | - 実装や外部のフィードバックを求める状態
17 | - レビュアはその仕様策定者以外ならだれでもなれるが専門的な知識を持っている必要がある
18 | - ECMAScriptのエディタがチェックする必要があり
19 | - Stage 4: Finished
20 | - 2つの実装(not Polyfill)が必要
21 | - ECMAScriptへ取り込まれる準備が完了したことを示す状態
22 | - ECMAScriptのエディタがチェックする必要があり
23 |
--------------------------------------------------------------------------------
/slide/13.md:
--------------------------------------------------------------------------------
1 | ## 例) do式
2 |
3 | 
4 |
5 | - [do式が実装された - JS.next](http://js-next.hatenablog.com/entry/2015/10/23/193955 "do式が実装された - JS.next")
6 | - 今の時点でStage 0なのでES7で入ることはほぼない
7 |
--------------------------------------------------------------------------------
/slide/14.md:
--------------------------------------------------------------------------------
1 | ## ブラウザに実装 ≠ 仕様に入る
2 |
3 | - ブラウザに実装されても仕様に入るとは限らない
4 | - [`Object.observe`はプロポーザルから取り下げる予定](https://esdiscuss.org/topic/an-update-on-object-observe "An update on Object.observe")
5 | - プロポーザルを出してる人の半分はブラウザベンダーなので実験的に実装するケース
6 | - 机上の空論では困るので、実装に問題ない、現実に即しているかなどを検証
7 |
--------------------------------------------------------------------------------
/slide/15.md:
--------------------------------------------------------------------------------
1 | ## 何で1年ごとにリリースするの?
2 |
3 | ES6はリリースするまで結局6年かかったため、もっとスピードアップするため。
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/slide/16.md:
--------------------------------------------------------------------------------
1 | ## 誰がプロポーザル書いてるの?
2 |
3 | - ブラウザベンダー
4 | - ウェブ開発者
5 | - あなた
6 |
7 | [tc39/proposals](https://github.com/tc39/proposals)にプロポーザル一覧とStageが載っている。
8 |
--------------------------------------------------------------------------------
/slide/17.md:
--------------------------------------------------------------------------------
1 | # 新しいプロポーザルを提案するには
2 |
3 | 一行で書くと[tc39/proposals](https://github.com/tc39/proposals)の`stage0.md`にプロポーザルを追加してPull Request
4 |
5 | 1. 仕様策定のプロセスを理解しましょう
6 | 2. フォームから必要な情報送ってルールに同意してね
7 | 3. ProposalをPull Requestしましょう
8 |
--------------------------------------------------------------------------------
/slide/18.md:
--------------------------------------------------------------------------------
1 | # ECMAScriptとGitHub
2 |
3 | ECMAScript 2016のドラフトはGitHubで公開されている。
4 |
5 | - [tc39/ecma262](https://github.com/tc39/ecma262 "tc39/ecma262")
6 |
--------------------------------------------------------------------------------
/slide/19.md:
--------------------------------------------------------------------------------
1 | # 仕様についてはどこで議論?
2 |
3 | - メーリングリスト
4 | - [ES Discuss](https://esdiscuss.org/ "ES Discuss")
5 | - ECMAScriptのGitHub Issue
6 | - [tc39/ecma262](https://github.com/tc39/ecma262 "tc39/ecma262")
7 | - 各種プロポーザルのGitHub Issue
8 | - [tc39/proposals](https://github.com/tc39/proposals)
9 | - ECMAScriptのBugzilla
10 | - [bugs.ecmascript.org](https://bugs.ecmascript.org/)
11 | - SNS
12 | - Twitter/GitHub/Google+
13 |
--------------------------------------------------------------------------------
/slide/2.md:
--------------------------------------------------------------------------------
1 | # ECMAScriptとは?
2 |
3 | - [Ecma International](http://www.ecma-international.org/default.htm "Ecma International")によって標準化されてるJavaScriptの仕様の事
4 | - 仕様: ECMAScript
5 | - 実装: JavaScript
6 | - Stableな最新版はECMAScript 2015(aka. ES6)
7 |
--------------------------------------------------------------------------------
/slide/20.md:
--------------------------------------------------------------------------------
1 | ## 最近の面白い議論の流れ
2 |
3 | - ウェブ開発者が「ES6のこのdestructuringにユーザーを混乱させる罠がある」
4 | - [ECMAScript 6 destructuring gotcha - NCZOnline](https://www.nczonline.net/blog/2015/10/ecmascript-6-destructuring-gotcha/ "ECMAScript 6 destructuring gotcha - NCZOnline")
5 | - Allen(ES6エディタ)が仕様に対してIssueを立てる
6 | - [Destructuring declarations that bind nothing should probably be an early error · Issue #97 · tc39/ecma262](https://github.com/tc39/ecma262/issues/97 "Destructuring declarations that bind nothing should probably be an early error · Issue #97 · tc39/ecma262")
7 | - GitHubで絶賛議論中
8 |
--------------------------------------------------------------------------------
/slide/21.md:
--------------------------------------------------------------------------------
1 | # 結局ECMAScript 2016って何が入るの?
2 |
3 | - 基本的にはES6(ECMAScript 2015)のバグ修正
4 | - 加えて、2016年1月中にStage 4となってるプロポーザルが入る
5 |
6 | 可能性としてありえるのは以下の仕様あたり。
7 |
8 | - [tc39/ecmascript-asyncawait](https://github.com/tc39/ecmascript-asyncawait)
9 | - [tc39/Array.prototype.includes](https://github.com/tc39/Array.prototype.includes/)
10 | - [rwaldron/exponentiation-operator](https://github.com/rwaldron/exponentiation-operator)
11 |
--------------------------------------------------------------------------------
/slide/22.md:
--------------------------------------------------------------------------------
1 | ## ECMAScriptに静的型って入るの?
2 |
3 | - 今のところプロポーザルのリストにはない
4 | - 話としては出てきた事あるけど、まだ提案の形になってない
5 | - [tc39-notes/jan-28.md at master · rwaldron/tc39-notes](https://github.com/rwaldron/tc39-notes/blob/master/es6/2015-01/jan-28.md#experimental-new-directions-for-javascript-at-google)
6 | - [sirisian/ecmascript-types](https://github.com/sirisian/ecmascript-types)
7 |
--------------------------------------------------------------------------------
/slide/23.md:
--------------------------------------------------------------------------------
1 | # Ecmarkup
2 |
3 | - 今までのECMAScript(6まで)はWordファイル
4 | - ES.nextでは[Ecmarkup](http://bterlson.github.io/ecmarkup/ "Ecmarkup")を使ったHTMLベース
5 |
6 | ```html
7 |
8 | SourceCharacter::any Unicode code point
9 |
10 | ```
11 |
12 | [Ecmarkup](http://bterlson.github.io/ecmarkup/ "Ecmarkup")は仕様書向けのCustom Elementを定義したHTML。
13 |
--------------------------------------------------------------------------------
/slide/24.md:
--------------------------------------------------------------------------------
1 | ## Wordだった頃の様子
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/slide/25.md:
--------------------------------------------------------------------------------
1 | # ES.nextの進捗
2 |
3 | - [tc39/proposals](https://github.com/tc39/proposals)にプロポーザルの進捗が載ってる
4 | - Stageは2か月に一度行われるTC39のミーティングにより変化する
5 | - ミーティングの記録を読めばいい
6 | - [rwaldron/tc39-notes](https://github.com/rwaldron/tc39-notes "rwaldron/tc39-notes")
7 |
--------------------------------------------------------------------------------
/slide/26.md:
--------------------------------------------------------------------------------
1 | # 次の仕様っていつリリースされるの?
2 |
3 | - ECMAScript 2016のリリース予定は2016年の6月15-16日
4 | - Ecmaの[General Assembly](http://www.ecma-international.org/memento/GA.htm "General Assembly")(GA)で正式に承認された後にリリース
5 | - 次にGAが行われるのは2016年6月15-16日
6 |
--------------------------------------------------------------------------------
/slide/27.md:
--------------------------------------------------------------------------------
1 | # ECMAScriptとModuleとWHATWG
2 |
3 | Module loaderはES6から外されたけど、[whatwg/loader](https://github.com/whatwg/loader "whatwg/loader")で議論されてる。
4 |
--------------------------------------------------------------------------------
/slide/28.md:
--------------------------------------------------------------------------------
1 | # ES6に入らなかったプロポーザルって?
2 |
3 | 仕様として提案されたが、ES6には入らなかったものも多い。
4 |
5 | 仕様そのものが良くない、仕様策定に時間がかかる(Module loaderはコレ)など理由は色々。
6 |
7 | - [ECMAScript没proposal追悼式](http://www.slideshare.net/KMC_JP/ecmascriptproposal "ECMAScript没proposal追悼式")
8 |
--------------------------------------------------------------------------------
/slide/29.md:
--------------------------------------------------------------------------------
1 | # ECMAScriptの実装ってどれぐらいあるの?
2 |
3 | ES.nextの仕様に入るには2つ以上の実装が必要
4 |
5 | - [Chakra](https://msdn.microsoft.com/en-us/library/dn249673(v=vs.94).aspx) @ MicroSoft
6 | - [SpiderMonkey](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey "SpiderMonkey") @ Mozilla
7 | - [V8](https://code.google.com/p/v8/ "V8") @ Google
8 | - [JavaScriptCore](https://www.webkit.org/projects/javascript/ "JavaScriptCore") @ Apple
9 |
--------------------------------------------------------------------------------
/slide/3.md:
--------------------------------------------------------------------------------
1 | # ECMA-262
2 |
3 | - ECMAScriptの事
4 | - _262_はEcma Internationalでの管理番号
5 | - [Ecma Standards - list](http://www.ecma-international.org/publications/standards/Standard.htm "Ecma Standards - list")
6 |
--------------------------------------------------------------------------------
/slide/30.md:
--------------------------------------------------------------------------------
1 | # ECMAScriptの実装状況ってどうなの?
2 |
3 | [ECMAScript 6 compatibility table](http://kangax.github.io/compat-table/es6/ "ECMAScript 6 compatibility table")で、ブラウザの実装状況を見ることが出来ます。
4 |
5 | それぞれのブラウザの更新履歴などについては以下を参照。
6 |
7 | - [azu/browser-javascript-resource](https://github.com/azu/browser-javascript-resource "azu/browser-javascript-resource")
8 |
--------------------------------------------------------------------------------
/slide/31.md:
--------------------------------------------------------------------------------
1 | # Transpilerって何?
2 |
3 | - Code to Codeの変換を行うツール
4 | - ECMAScriptではES6以降のコードをES5のコードに変換する[Babel](https://babeljs.io/ "Babel")
5 | - CSSでは[PostCSS](https://github.com/postcss/postcss "PostCSS")とか
6 |
--------------------------------------------------------------------------------
/slide/32.md:
--------------------------------------------------------------------------------
1 | ## Transpiler is not Learning tools
2 |
3 | 
4 |
--------------------------------------------------------------------------------
/slide/33.md:
--------------------------------------------------------------------------------
1 | # Polyfillって何?
2 |
3 | - 一種のライブラリ
4 | - 仕様で策定されている機能だが、古いブラウザなどではまだ実装されていない時に、APIが全く同じ互換実装を提供するライブラリ
5 | - 構文じゃなくてオブジェクトを提供する
6 | - PromiseとかはPolyfillできる
7 |
--------------------------------------------------------------------------------
/slide/34.md:
--------------------------------------------------------------------------------
1 | # ずっとBabelを使い続けるのか?
2 |
3 | - YES and NO
4 | - 仕様策定的には使ってもらえるとフィードバックが来やすいので歓迎
5 | - 普通に使うだけならES6の機能 + ライブラリでも十分に使える
6 | - 新しい仕様を試したくない場合は別にBabelを使わなくなるというのはあり得る
7 |
--------------------------------------------------------------------------------
/slide/35.md:
--------------------------------------------------------------------------------
1 | ## Contributing
2 |
3 | - ES.nextは殆どの仕様がGitHubにおいてある
4 | - これはW3CやWHATWGも同じ傾向
5 | - ECMAScriptの仕様自体がGitHubにある
6 | - 普通にIssueを立ててPull Requestしましょう!
7 | - [tc39/proposals](https://github.com/tc39/proposals)
8 |
--------------------------------------------------------------------------------
/slide/36.md:
--------------------------------------------------------------------------------
1 | # こんな機能ってES.nextに入るの?
2 |
3 | 検索しましょう。続きはウェブで!
4 |
5 |
10 |
--------------------------------------------------------------------------------
/slide/37.md:
--------------------------------------------------------------------------------
1 | # もっと知りたい
2 |
3 | - [ECMAScriptの仕様策定に関するカンニングペーパー | Web Scratch](http://efcl.info/2015/10/18/ecmascript-paper/ "ECMAScriptの仕様策定に関するカンニングペーパー | Web Scratch")
4 | - もうちょっと色々かいてある
5 |
--------------------------------------------------------------------------------
/slide/4.md:
--------------------------------------------------------------------------------
1 | # TC39
2 |
3 | - Technical Committee = 専門委員会
4 | - [TC39](http://www.ecma-international.org/memento/TC39.htm): ECMAScriptを策定してる専門委員会のこと
5 | - Ecmaは色々な仕様を策定しているので、その中でECMAScriptを策定してるグループの名前がTC39
6 | - ちなみに同じくEcma標準化されてるDartは[TC52](http://www.ecma-international.org/memento/TC52.htm)
7 |
--------------------------------------------------------------------------------
/slide/5.md:
--------------------------------------------------------------------------------
1 | # ECMAScript 6 / 2015の呼び方
2 |
3 | - 一応の正式名称はECMAScript 2015。通称はES6
4 | - ES6から1年毎にリリースしていく予定のため、2015, 2016…となるように変更された
5 |
6 | > ES2015が正式名称であり、来年以降のECMAScriptの策定やリリースのスタイルに名称を合わせるというのが理由
7 |
8 | - [ES6 or ES2015 ?](http://blog.cybozu.io/entry/9081 "ES6 or ES2015 ? 〜WEB+DB PRESS Vol.87 ES6特集に寄せて〜 - Cybozu Inside Out | サイボウズエンジニアのブログ")
9 |
--------------------------------------------------------------------------------
/slide/6.md:
--------------------------------------------------------------------------------
1 | ## ES6のエディタ
2 |
3 | [](https://twitter.com/awbjs "Allen Wirfs-Brock (@awbjs) | Twitter")
4 |
5 | - Allen Wirfs-Brock(アレン・ワーフスブラック) @ Mozilla [family business](https://twitter.com/awbjs/status/649995551467945984)
6 | - [@awbjs](https://twitter.com/awbjs "@awbjs")
7 |
--------------------------------------------------------------------------------
/slide/7.md:
--------------------------------------------------------------------------------
1 | # Ecma標準とISO標準の違い
2 |
3 | - ECMAScriptは
4 | - デファクト標準([Ecma International](http://www.ecma-international.org/default.htm "Ecma International")により標準化)
5 | - デジュール標準(ISO標準化 [ISO/IEC 16262](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=55755 "ISO/IEC 16262"))
6 | - 2つの標準化されたものを持ってるけどデファクトの方しか基本見てない
7 | - 日本ではISO/IEC JTC1/SC22のECMAScript Adhoc委員会[@azu](https://github.com/azu)もレビュアとして参加
8 |
--------------------------------------------------------------------------------
/slide/8.md:
--------------------------------------------------------------------------------
1 | # ECMAScript 7 / 2016
2 |
3 | - 大抵の場合は次(ES6の次)のECMAScriptの事
4 | - 「ES7のDecoratorについて」といった言い方はまだ仕様に入ることすら決まってないので話半分
5 | - 「次期ECMAScriptに提案されているDecoratorについて」というのがより正確
6 | - 次期ECMAScriptの事をECMAScript nextとかES.nextと言ったりもする
7 |
--------------------------------------------------------------------------------
/slide/9.md:
--------------------------------------------------------------------------------
1 | # ES.nextのエディタ
2 |
3 | [](https://twitter.com/bterlson)
4 |
5 | - Brian Terlson(ブライアン・テルソン) @ Microsoft
6 | - [@bterlson](https://twitter.com/bterlson "@bterlson")
7 |
--------------------------------------------------------------------------------