# Special \`this\` binding in class methods

**URL:** https://es.discourse.group/t/special-this-binding-in-class-methods/281
**Category:** I have questions
**Created:** [March 24, 2020, 8:45pm UTC](https://es.discourse.group/t/special-this-binding-in-class-methods/281 "2020-03-24T20:45:43Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Misiur](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/misiur/32/283_2.png) [@Misiur](https://es.discourse.group/u/Misiur)
#### Post date: [March 24, 2020, 8:45pm UTC](https://es.discourse.group/t/special-this-binding-in-class-methods/281/1 "2020-03-24T20:45:43Z")

</div>

I'd like to ask about this specific case:

> <https://stackoverflow.com/questions/60816268/method-named-with-symbol-does-not-return-iterable>

Would it be possible to get the `this` binding to be different than what is apparent, i.e bound at the moment of call it seems, and rebind it to class instance. Or new keyword, say `@@instance`?

---

<div class="post-metadata">

### Author: ![bergus](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/bergus/32/152_2.png) [@bergus](https://es.discourse.group/u/bergus)
#### Post date: [March 24, 2020, 9:13pm UTC](https://es.discourse.group/t/special-this-binding-in-class-methods/281/2 "2020-03-24T21:13:07Z")

</div>

> [@Misiur](#):
>
> Would it be possible to get the `this` binding to be different than what is apparent

No.

You probably want to write either

```javascript
class Mar {
  constructor() {
    this.sym = Symbol("sym");
    this[this.sym] = function*() { … };
  }
}

```

or

```javascript
const sym = Symbol("sym");
class Mar {
  static sym = sym
  *[sym]() { … }
}

```

although it is still unclear what you are actually trying to achieve.
