Node.js This Binding Last Updated : 08 Oct, 2021 Comments Improve Suggest changes 1 Likes Like Report Arrow functions don’t bind their own 'this' value. Instead, the 'this' value of the scope in which it was defined is accessible. This makes arrow functions bad candidates for methods, as this won’t be a reference to the object the method is defined on. For methods, ES6 provides a new method definition syntax. You can see this in the definition of the printGuestList method below. That function is a standard function, just with a shorthand syntax which allows for the removal of the colon and the function keyword. Because arrow functions don't bind this, they work well for everything except methods. As shown below, the arrow function passed to forEach is able to access this.name correctly, as it’s defined as an arrow function and doesn’t have this binding of its own. That code wouldn’t work if you swapped out the arrow function for a standard function. Create a folder and add a file for example index.js. To run this file you need to run the following command. node index.js Filename: index.js javascript // 'This' in Arrow function const eventOne = { name: 'Birthday Party', guestList: ['Gourav', 'Vijay'], printGuestList() { console.log('Guest list for ' + this.name); this.guestList.forEach((guest) => { console.log(guest + ' is attending ' + this.name) }); } } // 'This' in normal function const eventTwo = { name: 'Birthday Party', guestList: ['Gourav', 'Vijay'], printGuestList() { console.log('Guest list for ' + this.name); this.guestList.forEach(function (guest) { console.log(guest + ' is attending ' + this.name) }); } } eventOne.printGuestList(); console.log('---------------------'); eventTwo.printGuestList(); Steps to run the program: Run index.js file using the following command: node index.js So this is how 'this' binding works on arrow functions and normal functions. Create Quiz Comment G gouravhammad Follow 1 Improve G gouravhammad Follow 1 Improve Article Tags : Node.js Node.js-Basics Explore Introduction & Installation NodeJS Introduction3 min readNode.js Roadmap: A Complete Guide6 min readHow to Install Node.js on Linux6 min readHow to Install Node.js on Windows5 min readHow to Install NodeJS on MacOS6 min readNode.js vs Browser - Top Differences That Every Developer Should Know6 min readNodeJS REPL (READ, EVAL, PRINT, LOOP)4 min readExplain V8 engine in Node.js7 min readNode.js Web Application Architecture3 min readNodeJS Event Loop5 min readNode.js Modules , Buffer & StreamsNodeJS Modules5 min readWhat are Buffers in Node.js ?4 min readNode.js Streams4 min readNode.js Asynchronous ProgrammingAsync Await in Node.js3 min readPromises in NodeJS7 min readHow to Handle Errors in Node.js ?4 min readException Handling in Node.js3 min readNode.js NPMNodeJS NPM6 min readSteps to Create and Publish NPM packages7 min readIntroduction to NPM scripts2 min readNode.js package.json4 min readWhat is package-lock.json ?3 min readNode.js Deployments & CommunicationNode Debugging2 min readHow to Perform Testing in Node.js ?2 min readUnit Testing of Node.js Application5 min readNODE_ENV Variables and How to Use Them ?2 min readDifference Between Development and Production in Node.js3 min readBest Security Practices in Node.js4 min readDeploying Node.js Applications5 min readHow to Build a Microservices Architecture with NodeJS3 min readNode.js with WebAssembly3 min readResources & ToolsNode.js Web Server6 min readNode Exercises, Practice Questions and Solutions4 min readNode.js Projects9 min readNodeJS Interview Questions and Answers15+ min read Like