JS overshadow - class

by matox

JavaScript

class Book {	// A
  constructor(title) {
    this.title = title;
    this.pages = [1, 2, 3, 4, 5];
  }

  print() {
  	console.log(this);
    this.pages.forEach(function(page) {		// B
    	console.log(this);
      console.log(this.title, page);
    });
  }
}

const b = new Book('JS for dummies');
b.print();

/*
	QUESTIONS:
  - Why does function "B" overshadows scope of class "A"? 
*/