タグ

ブックマーク / js-next.hatenablog.com (2)

  • 正規表現の後読みが実装された - JS.next

    概要 後読みは「何かが直前に来る目標」を指す際に便利な表現である。 解説 先読み「(?=pattern)」 がpatternの直前の位置にマッチするのに対して、 後読み「(?<=pattern)」はpatternの直後の位置にマッチする。 どちらもpattern自体にはマッチしない。 先読みが「何かが続く目標」を指すのに向いているのに対して、 後読みは「何かに続く目標」を指すのに向いている。 例 基: // 肯定的後読み:lightかdeepに続く色を取り出す let str1 = 'red, deep green, light blue, white' str1.match(/(?<=(?:[light|deep] ))\w+/g) // ["green", "blue"] // 否定的後読み:200X年を除いて項目を取り出す let str2 = '1997:ES1\n1998:ES

    正規表現の後読みが実装された - JS.next
  • Class構文について - JS.next

    概要 待ち焦がれた人も多いことだろう。ES2015の一番の目玉機能とも言えるクラス構文が、ついにV8でサポートされた。 Class構文は、『関数(コンストラクタ)定義』+『.prototypeへのメソッド定義』の糖衣構文である。 JSで今まで様々に工夫されてきたクラスの書き方を、綺麗に統一してくれる可能性を秘めている。 クラスを作る 従来、Catクラスを作ろうとした場合このように書いてきた。 function Cat(name) { this.name = name } Cat.prototype.meow = function () { alert( this.name + 'はミャオと鳴きました' ) } しかしこの書き方だとどうしても、コンストラクタとメソッドの定義が分離されているため、クラスとしてまとまりがなく分かりづらく感じる。 メソッドが増えてきた時も、Cat.prototyp

    Class構文について - JS.next
  • 1