The existing option is:

let rect = {
  get corners() { return this._corners(); },
  *_corners() { .. },
};

which doesn't seem so bad.  Also, a generator getter would introduce a bit
of divergence between getter and setter syntax.

On Tue, Nov 10, 2015 at 2:28 PM Mohsen Azimi <[email protected]> wrote:

> Can we allow generator getter methods?
>
> Here is an example use case:
>
> ```
> let rectangle = {
>   start: {x: 1, y: 5},
>   width: 2,
>   height: 3,
>
>   *getCorners() {
>     let {x: startX, y: startY} = this.start;
>     yield this.start;
>     yield {x: startX + this.width, y: startY};
>     yield {x: startX + this.width, y: startY + this.height};
>     yield {x: startX, y: startY + this.height}
>   }
> }
>
> for (let corner of rectangle.getCorners()) {
>   console.log(corner);
> }
> ```
>
> I'm proposing to allow  `get coreners* () { ...` (a generator getter
> method) so the for..of loop can be written like this:
>
> ```
> for (let corner of rectangle.corners) {
>   console.log(corner);
> }
> ```
>
> Which seems cleaner
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to