素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

Generatorのprototypeの取得方法

下のようにする。yieldとかgetPrototypeOfとか使ってるので、最近のFirefoxでしか動かないと思う。

let __proto__ = Object.getPrototypeOf(
  function dummy(){yield;}());

__proto__.toArray = function()
  [i for(i in this)];

function range(start, end){
  while(start <= end)
    yield start++;
}

// 1,2,3,4,5,6,7,8,9,10
range(1, 10).toArray();

Object.getPrototypeOfはただ使ってみたかっただけで、__proto__でもいい。