似非Set

Setを似非実装してみた。sizeではなくlengthならArray.prototypeのメソッドを転用できるのに。

delete予約語なので、関数名に同名を付けられない。Setを既に実装しているFirefoxでは、Set.prototype.delete.name === 'delete'となる。Function#namewritableにならない限り、真似できない。

同値性を判断する関数を渡せるようにしてもいいかもしれない。