-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_ECMAScript
現在のJavaScriptの仕様
- ECMA Internationalが、ECMAScript(ECMA-262)規格を策定、標準化。
- ECMA : European Computer Manufacturers Association
- 旧JavaScript(ES5)
- ECMAScript2015(ES2015、ES6)
- ECMAScript2016(ES2016、ES7)
※ コンパイル型のスクリプト言語も存在する。
※ スクリプト言語の意味は、簡易的なプログラミング言語全般
Reactなどではよく使うが、最近は、SFCで書くケースが多いかも。
-
大文字 / 小文字が区別される。
-
セミコロン(;)は、コンテキストによって補完する。
-
文中に空白改行タブを含めることが可能
(...と言うか無視され、これによりminificationが可能)。 -
変数定義
-
グローバルもローカルもvarを使用。
-
varを省略可能
- 最初に登場したモノにvarを補完
- 省略時、グローバルとローカルではグローバルが優先される。
-
-
型
-
基本型と参照型がある。
- 基本型:数値、文字列、真偽型
- 参照型:配列、オブジェクト、関数
-
型が柔軟
ある意味、VBのバリアント型のような感じ。 -
文字列
- シングル・クォーテーションかダブル・クォーテーションの何れかで囲む。
- ¥(バックスラッシュ)でエスケープして、エスケープ・シーケンスにする。
-
| # | 文字 | エスケープ・シーケンス |
|---|---|---|
| 1 | シングル・クォーテーション | \' |
| 2 | ダブル・クォーテーション | \" |
| 3 | バック・スラッシュ | \\ |
| 4 | 改行 | \n |
| 5 | リターン | \r |
| 6 | タブ | \t |
| 7 | 改ページ | \f |
| 8 | バックスペース | \b |
varより、letとconstがお薦めらしい。
- letとvarの違い
https://qiita.com/y-temp4/items/289686fbdde896d22b5e - 【JavaScript】varとfunction"文"は使わずにletとconstを使って欲しい(切実)
https://qiita.com/mejileben/items/b8502173216aebae8d36 - varよりすごいletとconst。
https://ginpen.com/2017/12/02/var-let-const/
スプレッド演算子は、
-
setStateメソッドの引数を作成する場合(Reactを参照)
-
propsを下位のComponentに渡す場合(Reactの該当節を参照)
-
Reducersクラス・メソッドの戻り値を作成する場合(Reduxの該当節を参照)
などを行う場合にも使える。
- 【JavaScript】スプレッド演算子の便利な使い方まとめ
https://qiita.com/Nossa/items/e6f503cbb95c8e6967f8
- JavaScriptでバイナリを扱うために生まれた。
- 画像・音声処理などで利用されている。
- JSのArrayBufferがよくわからなかったのでほんの少しだけ調べた - はらへり日記
https://sota1235.hatenablog.com/entry/2016/05/30/145137
const buf = new ArrayBuffer(100); // メモリ空間の確保
const view = new Uint8Array(buf); // 1行めで確保されたメモリ空間へアクセスするための型付き配列
view[0] = 0x12; // bufの0番めに書き込んでいるのと同義-
ECMAScript - Wikipedia
https://ja.wikipedia.org/wiki/ECMAScript -
ES6 チートシート | POSTD
https://postd.cc/es6-cheatsheet/ -
現代的JavaScriptおれおれAdvent Calendar2017やります。ひとりで。 | Ginpen.com
https://ginpen.com/2017/12/01/modern-javascript-ginpei-advent-calendar-2017/- Babelを使って現代的JavaScriptを始める。
- varよりすごいletとconst。
- アロー関数でさくさくコールバック。
- JavaScript待望のクラス。
- 華麗にgetterとsetterを使いたい。
- メソッドをメソッドっぽく定義しよう。
- 動的にプロパティ名を設定できるようになりました。
- 引数の初期値って便利だよね。
- 累乗演算子 ** って知ってる?
- 非同期やるならPromiseでらくらく。
- 非同期やるならasync/awaitでもっとらくらく。
- テンプレート記法で簡単文字列組み立て。
- テンプレートを自作しよう
- 分割代入、画期的な機能。
- 分割代入、配列も画期的。
- 分割代入と逆に、プロパティを短く定義するやつ。
- 分割代入や引数の「残り全部」を持ってくるやつ……。
- 配列を「開いて」使うスプレッド演算子。
- データ保持ならObjectよりMapの方が良いの?
- 値だけ覚えておくならSetという手が。
- WeakMap、WeakSetで「弱い参照」を使えるようになったぞ。
- イテレータとfor-of文で配列以外もぐーるぐる。
- ジェネレータと自作イテレータで各種オブジェクトもぐーるぐる。
- ES6とES2015に違いはないです。
- ECMAScript 5 compatibility table
http://kangax.github.io/compat-table/es5/
- ECMAScript 6 compatibility table
http://kangax.github.io/compat-table/es6/
- ECMAScript 2016+ compatibility table
http://kangax.github.io/compat-table/es2016plus/
移行メモ
- 「ECMA : European Computer Manufacture Association」は正式名称 「European Computer Manufacturers Association」に修正した。
- 元 Wiki の
[[Javascript]](小文字 s)はリンク先のページが元 Wiki 側に 存在しない(リンク切れ)ため、移行済みの JavaScript を指すようにした。- 同名の見出し(「参考」)が複数あり GitHub Wiki でアンカが衝突するため、 括弧で文脈を補って一意にした。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, ECMAScript, JavaScript, ES6, ES2015, let, const, スプレッド演算子, ArrayBuffer
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。