- 作者: 竹迫良範
- 出版社/メーカー: 秀和システム
- 発売日: 2013/09/25
- メディア: 単行本
- この商品を含むブログを見る
【完全日本語訳+解説】ECMA-262 Edition 5.1を読む
5分で分かるクイズ。答えは適当に。
ヒント
- 桁数制限とかあるやつあるから、気をつけてね
- e
- 文字列連結
文法
- ES6では今までの文法が変わるけど、すぐに開発が変わるわけではない
- JSをECMAインターナショナルで標準化したのがEcmaScript
- ISOの仕様
- ECMA6だといろいろ文法が出てくる
Arrows
- CoffeeScriptで出てくるやつで、ラムダが簡単に書けるやつ
- こういう書き方が出来る。
var odds = evens.map(v => v + 1); nums.foreach(v => { if (v % 5 === 0) fives.push(v); }
- 今までのJSとはだいぶちがう…
Classes
ECMA4のころからあったけど、ついにECMA6から入った!
class SkippedMesh extends THREEE.Mesh { constructor() { } update() { } }
Enhanced Object Literals
オブジェクトリテラル
Template Strings
- テンプレートストリング 改行可能で変数展開も可能
- これを使うといろいろと変態的なことが出来る
`In JavaScript '\n' is a line-feed`
Destructing
デストラクタ
Default + Rest + Spread
- 引数省略のデフォルト値を設定できる
- ...とかくと配列として解釈。など
function f(x, y=12) { return x + y; }
let + const
function f() { { let x; // レキシカルな定義で別のところでlet xするとエラー } }
iterators
イテレータ
for..of
for (var n of fibonacci) { }
Generators
ジェネレータ
JavaScript4 MozillaのJavaScript2など
Unicode
"吉".lenght == 2
- 2バイト文字列が扱えるようになった
- コードポインタ
- ユニコード
Modules
- exportとかimportとか
export function sum(x, y) { return x + y; } import * as math from "lib/math";
Module Loaders
Map + Set
var s = new Set(); var m = new Map();
WeakMap + WeakSet
- 弱参照
Proxies
- プロキシ構文
Symbols
var key = Symbol("key");
Subclassable Built-ins
Math + Number + String APIs
別にこれはいらんだろ…っていう感じの数学関数
Math.acosh(3) // 1.76... Math.hypot(3, 4) // 5 "abcde".includes("cd") // true
Array + Object APIs
Array.of(1, 2, 3) [0,0,0].fill(7, 1) // [0,7,7]
Binary and Octal Literals
0b111110111 === 503 // true 0o767 == 503 // true ### Promise ### Tail Calls 再帰呼出しとかで使えるかも ### これらの機能はどのくらい浸透しているの? [http://kangax.github.io/compat-table/es6/:title] たいがいのブラウザではES5の機能は使える ES7はもうほとんど無理 [http://kangax.github.io/compat-table/es7/:title] ### 結論 今すぐWeb開発が変わるわけではない。。 ### 追記 [https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/imul:embed:cite]