Include static keyword in method toString
jridgewell opened this issue · comments
Static is currently excluded from a method's toString
:
class Ex {
static test() { /* hello */ }
}
console.log(Ex.test.toString());
// => 'test() { /* hello */ }'
The decorators group would like to include it in the toString
, since it can't go before the decorators.
Even unrelated to decorators, it makes sense, and follows the mental model, that if you eval Ex.test.toString()
inside a similar lexical context (the body of class Ex
, with the same variable bindings in scope) that it should result in a static method.
Intutiively, I like this change. To me, it seems like static
is part of the method declaration just as much as async
is. I don't think we should put too much stock into the details of a particular version of the spec's grammar when making these sorts of decisions.