コンニチワ id:tyage デス。
一ヶ月以上前になりますが、7/14にECMAScript第6回を行いました。
また、8/26に第7回を行いました。
第6回
第6回では主にMathオブジェクトで追加された要素を確認していました。
- Math.clz32
- 32bit binaryで表現した際に先頭からの0ビットの数を数える
- Math.imul
- C-like 32bit multiplication
- Math.sign
- 正だったら1, 負だったら-1
- Math.log10, Math.log2
- Math.log1p
- log(1 + x)
- Math.expm1
- ex - 1
- Math.cosh, Math.sinh, Math.tanh
- hyperbolic cosine、hyperbolic sine、hyperbolic tangent
- Math.acosh, Math.asinh, Math.atanh
- hyperbolic arccosine、hyperbolic arcsine、hyperbolic arctangent
- Math.hypot
- √(a2+b2+...)
- Math.trunc
- 少数桁を削った整数部を返す
- Math.fround
- 単精度への最近点丸め
- Math.cbrt
- cubed root(三乗根)
第7回
第7回ではdestructuring, destructuring parameters, destructuring defaults, destructuring rest, RegExp.prototype.split, RegExp.prototype.search, RegExp.prototype.replace, RegExp.prototype.matchを読みました。
destructuring, destructuring parameters, destructuring defaults, destructuring rest
destructuring assignmentが追加されました。
これにより、arrayやobjectのようなデータからのデータ抽出がしやすくなります。
使用例は以下の様になります。
var this.hoge = 1
とできないように、var {a: this.hoge} = {a: 1}
とできないのに注意です。
(この場合、{a: this.hoge} = {a:1}
と書かなければいけない)
引数パラメータの展開に便利だと感じますね。
RegExp.prototype.split, RegExp.prototype.search, RegExp.prototype.replace, RegExp.prototype.match
それぞれ、String.prototype.split, String.prototype.search, String.prototype.replace, String.prototype.matchの逆と思って良さそうです。
String.prototype.split等で引数にRegExpを渡した時、RegExp.prototype.splitを呼ぶようになっていました。(search, replace, matchも同様)
次回は9/1に第8回が行われます。