KMC活動ブログ

京大マイコンクラブの活動の様子を紹介します!!

ECMAScript6勉強会 第6回・第7回

コンニチワ 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のようなデータからのデータ抽出がしやすくなります。

使用例は以下の様になります。

gist3bda9631f9984f757d8b

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回が行われます。