scope of `this`

by Saksham Malhotra

JavaScript

/*
function outer() {
	let innerFunc = function() {
  	console.log(this);
  }
  innerFunc();
  
  let innerArrowFunc = () => {
  	console.log(this);
  }
  innerArrowFunc();
  
  this.innerExFunc = function() {
  	console.log(this);
  }
  
  this.innerExArrowFunc = () => {
  	console.log(this);
  }
}
outer();
var out = new outer();
out.innerExFunc();
out.innerExArrowFunc();*/



/*function x() {
  setTimeout(() => {
    console.log(this)
  }, 100);

  setTimeout(function() {
    console.log(this)
  }, 200);
}
x();

setTimeout(function() {
  (new x())
}, 500)
*/


/*var x = 5;
(function(callback){
	var age = 22;
	callback();
})(function(){
  console.log(this);
  console.log(this.x);
})*/


/*
for (var x = 0; x < 5; x++) {
  setTimeout(function() {
    console.log(this + ' ' + x);
  }, 0)
}
*/


/*var obj = {
  name: 'saksham',
  contextObj: this,
  greet: () => {
  	console.log(obj.contextObj);
    console.log(this);
  },
  greetNormal() {
  	console.log(this.contextObj);
    console.log(this);
  }
}
obj.greet();
obj.greetNormal();*/


/*let obj = {
	age:29,
  getAge() {
  	console.log(this);
    function getActualAge() {
    	console.log(this);
    }
    getActualAge();
  }
}

obj.getAge();

*/