class b { 
  constructor(){
    this.name = 'bar'
  } 
  b1(){
    console.log('here: ', this.name); 
    function c() {
      console.log('inside c: ', this.name)
    } 
    c();
  }
}
let a = new b; 
a.b1();
//output:
// here:  bar
// inside c:  undefined
In this case, when calling a.b1(), in the scope of function b1, the this context is bind to a. But when executing function c inside function b1, why the this context is lost? this suppose in the closure of function c ?
I know how to make it work (arrow function). Just wondering why.
 
     
    