This keyword in Javascript
+++ +++
This keyword in Javascript
this alone
- Refer to global object. In node.js
thiswill be undefined. - In browser will return the window object. But for using “use strict”, this will be return
undefined
console.log(this);
const x = this;
this in function
- Without
newcalling function » refer to global object - With
newcalling function » refer to new instance object
function thisInFunc() {
console.log(this);
}
thisInFunc(); // Undefine in node.js or strict mode
new thisInFunc(); // new object
In call() function binding
const objectWithReuseMethod = {
displayFullName: function () {
return this.firstName + " " + this.lastName;
},
};
const person = {
firstName: "Ho",
lastName: "Hai",
};
// Then we can extract the `displayFullName` method then make call with other object (person in this case)
const fullName = objectWithReuseMethod.displayFullName.call(person);
console.log(fullName); // "Ho Hai"
In bind() Function Borrowing
- Similar to
call() - Different between
call(),bind(),apply(): https://stackoverflow.com/questions/15455009/javascript-call-apply-vs-bind