class A { f1() { f2(); } f2() {} } var a = new A(); console.log(a.f1()); returns f2 is not defined.
Whereas:
{ function f1() { return f2(); } function f2() { return 'f2'; } console.log(f1()); } prints 'f2'
I'm just wondering why functions within classes are not hoisted?
this.is invalid anyway?