ECMAScript
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>JavaScript]]
*目次 [#zea07f1e]
#contents
*概要 [#daa8f6ab]
現在の[[Javascript]]の仕様
**経緯 [#k1740935]
-ECMA Internationalが、ECMAScript(ECMA-262)規格を策定、...
-ECMA : European Computer Manufacture Association
**バージョン [#s3c2baa7]
-旧[[Javascript]](ES5)
-ECMAScript2015(ES2015、ES6)
-ECMAScript2016(ES2016、ES7)
**特徴 [#v77b39f6]
***インタプリタ型のスクリプト言語 [#k62922d6]
※ コンパイル型のスクリプト言語も存在する。~
※ スクリプト言語の意味は、簡易的なプログラミング言語全般
***オブジェクト指向 [#ycebfbc3]
[[React]]などではよく使うが、最近は、SFCで書くケースが多...
***基本的な記述方法 [#uf053100]
-大文字 / 小文字が区別される。
-セミコロン(;)は、コンテキストによって補完する。
-文中に空白改行タブを含めることが可能~
(...と言うか無視され、これによりminificationが可能)。
-変数定義
--グローバルもローカルもvarを使用。
--varを省略可能
---最初に登場したモノにvarを補完
---省略時、グローバルとローカルではグローバルが優先される。
--[[letはブロック・スコープ(推奨)>#zfbba236]]
-型
--基本型と参照型がある。
---基本型:数値、文字列、真偽型
---参照型:配列、オブジェクト、関数
--型が柔軟~
ある意味、VBのバリアント型のような感じ。
--文字列
---シングル・クォーテーションかダブル・クォーテーションの...
---¥(バックスラッシュ)でエスケープして、エスケープ・シ...
|#|文字|エスケープ・シーケンス|h
|1|シングル・クォーテーション|\'|
|2|ダブル・クォーテーション|\"|
|3|バック・スラッシュ|\\|
|4|改行|\n|
|5|リターン|\r|
|6|タブ|\t|
|7|改ページ|\f|
|8|バックスペース|\b|
*詳細 [#k619e63f]
**letとconst [#zfbba236]
varより、letとconstがお薦めらしい。
***参考 [#yd4e6483]
-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/
**スプレッド演算子 [#ca4641e1]
スプレッド演算子は、
-[[setState>React]]メソッドの引数を作成する場合
-[[propsを下位のComponentに渡す場合>React#o23213b7]]
-[[Reducers>Redux#g0c704a9]]クラス・メソッドの戻り値を作...
などを行う場合にも使える。
***参考 [#q902921a]
-【JavaScript】スプレッド演算子の便利な使い方まとめ~
https://qiita.com/Nossa/items/e6f503cbb95c8e6967f8
**ArrayBuffer [#kf5afb64]
-JavaScriptでバイナリを扱うために生まれた。
-画像・音声処理などで利用されている。
***参考 [#g6971788]
-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番めに書き込んでいるのと同義
*参考 [#e00d20fa]
-ECMAScript - Wikipedia~
https://ja.wikipedia.org/wiki/ECMAScript
-ES6 チートシート | POSTD~
https://postd.cc/es6-cheatsheet/
-現代的JavaScriptおれおれAdvent Calendar2017やります。ひ...
https://ginpen.com/2017/12/01/modern-javascript-ginpei-ad...
--Babelを使って現代的JavaScriptを始める。
--varよりすごいletとconst。
--アロー関数でさくさくコールバック。
--JavaScript待望のクラス。
--華麗にgetterとsetterを使いたい。
--メソッドをメソッドっぽく定義しよう。
--動的にプロパティ名を設定できるようになりました。
--引数の初期値って便利だよね。
--累乗演算子 ** って知ってる?
--非同期やるならPromiseでらくらく。
--非同期やるならasync/awaitでもっとらくらく。
--テンプレート記法で簡単文字列組み立て。
--テンプレートを自作しよう
--分割代入、画期的な機能。
--分割代入、配列も画期的。
--分割代入と逆に、プロパティを短く定義するやつ。
--分割代入や引数の「残り全部」を持ってくるやつ……。
--配列を「開いて」使うスプレッド演算子。
--データ保持ならObjectよりMapの方が良いの?
--値だけ覚えておくならSetという手が。
--WeakMap、WeakSetで「弱い参照」を使えるようになったぞ。
--イテレータとfor-of文で配列以外もぐーるぐる。
--ジェネレータと自作イテレータで各種オブジェクトもぐーる...
--ES6とES2015に違いはないです。
**ECMAScriptと対応状況 [#e34dbaad]
***旧JavaScript(ES5) [#s2cd016a]
-ECMAScript 5 compatibility table~
http://kangax.github.io/compat-table/es5/
***ECMAScript2015(ES2015、ES6) [#v8d0a643]
-ECMAScript 6 compatibility table~
http://kangax.github.io/compat-table/es6/
***ECMAScript2016(ES2016、ES7) [#nd5f739d]
-ECMAScript 2016+ compatibility table~
http://kangax.github.io/compat-table/es2016plus/
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>JavaScript]]
*目次 [#zea07f1e]
#contents
*概要 [#daa8f6ab]
現在の[[Javascript]]の仕様
**経緯 [#k1740935]
-ECMA Internationalが、ECMAScript(ECMA-262)規格を策定、...
-ECMA : European Computer Manufacture Association
**バージョン [#s3c2baa7]
-旧[[Javascript]](ES5)
-ECMAScript2015(ES2015、ES6)
-ECMAScript2016(ES2016、ES7)
**特徴 [#v77b39f6]
***インタプリタ型のスクリプト言語 [#k62922d6]
※ コンパイル型のスクリプト言語も存在する。~
※ スクリプト言語の意味は、簡易的なプログラミング言語全般
***オブジェクト指向 [#ycebfbc3]
[[React]]などではよく使うが、最近は、SFCで書くケースが多...
***基本的な記述方法 [#uf053100]
-大文字 / 小文字が区別される。
-セミコロン(;)は、コンテキストによって補完する。
-文中に空白改行タブを含めることが可能~
(...と言うか無視され、これによりminificationが可能)。
-変数定義
--グローバルもローカルもvarを使用。
--varを省略可能
---最初に登場したモノにvarを補完
---省略時、グローバルとローカルではグローバルが優先される。
--[[letはブロック・スコープ(推奨)>#zfbba236]]
-型
--基本型と参照型がある。
---基本型:数値、文字列、真偽型
---参照型:配列、オブジェクト、関数
--型が柔軟~
ある意味、VBのバリアント型のような感じ。
--文字列
---シングル・クォーテーションかダブル・クォーテーションの...
---¥(バックスラッシュ)でエスケープして、エスケープ・シ...
|#|文字|エスケープ・シーケンス|h
|1|シングル・クォーテーション|\'|
|2|ダブル・クォーテーション|\"|
|3|バック・スラッシュ|\\|
|4|改行|\n|
|5|リターン|\r|
|6|タブ|\t|
|7|改ページ|\f|
|8|バックスペース|\b|
*詳細 [#k619e63f]
**letとconst [#zfbba236]
varより、letとconstがお薦めらしい。
***参考 [#yd4e6483]
-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/
**スプレッド演算子 [#ca4641e1]
スプレッド演算子は、
-[[setState>React]]メソッドの引数を作成する場合
-[[propsを下位のComponentに渡す場合>React#o23213b7]]
-[[Reducers>Redux#g0c704a9]]クラス・メソッドの戻り値を作...
などを行う場合にも使える。
***参考 [#q902921a]
-【JavaScript】スプレッド演算子の便利な使い方まとめ~
https://qiita.com/Nossa/items/e6f503cbb95c8e6967f8
**ArrayBuffer [#kf5afb64]
-JavaScriptでバイナリを扱うために生まれた。
-画像・音声処理などで利用されている。
***参考 [#g6971788]
-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番めに書き込んでいるのと同義
*参考 [#e00d20fa]
-ECMAScript - Wikipedia~
https://ja.wikipedia.org/wiki/ECMAScript
-ES6 チートシート | POSTD~
https://postd.cc/es6-cheatsheet/
-現代的JavaScriptおれおれAdvent Calendar2017やります。ひ...
https://ginpen.com/2017/12/01/modern-javascript-ginpei-ad...
--Babelを使って現代的JavaScriptを始める。
--varよりすごいletとconst。
--アロー関数でさくさくコールバック。
--JavaScript待望のクラス。
--華麗にgetterとsetterを使いたい。
--メソッドをメソッドっぽく定義しよう。
--動的にプロパティ名を設定できるようになりました。
--引数の初期値って便利だよね。
--累乗演算子 ** って知ってる?
--非同期やるならPromiseでらくらく。
--非同期やるならasync/awaitでもっとらくらく。
--テンプレート記法で簡単文字列組み立て。
--テンプレートを自作しよう
--分割代入、画期的な機能。
--分割代入、配列も画期的。
--分割代入と逆に、プロパティを短く定義するやつ。
--分割代入や引数の「残り全部」を持ってくるやつ……。
--配列を「開いて」使うスプレッド演算子。
--データ保持ならObjectよりMapの方が良いの?
--値だけ覚えておくならSetという手が。
--WeakMap、WeakSetで「弱い参照」を使えるようになったぞ。
--イテレータとfor-of文で配列以外もぐーるぐる。
--ジェネレータと自作イテレータで各種オブジェクトもぐーる...
--ES6とES2015に違いはないです。
**ECMAScriptと対応状況 [#e34dbaad]
***旧JavaScript(ES5) [#s2cd016a]
-ECMAScript 5 compatibility table~
http://kangax.github.io/compat-table/es5/
***ECMAScript2015(ES2015、ES6) [#v8d0a643]
-ECMAScript 6 compatibility table~
http://kangax.github.io/compat-table/es6/
***ECMAScript2016(ES2016、ES7) [#nd5f739d]
-ECMAScript 2016+ compatibility table~
http://kangax.github.io/compat-table/es2016plus/
ページ名: