{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node/issues/3622","labels_url":"https://api.github.com/repos/nodejs/node/issues/3622/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node/issues/3622/comments","events_url":"https://api.github.com/repos/nodejs/node/issues/3622/events","html_url":"https://github.com/nodejs/node/pull/3622","id":114474748,"number":3622,"title":"lib: use arrow functions instead of bind(this) for better performance","user":{"login":"JungMinu","id":5035902,"avatar_url":"https://avatars.githubusercontent.com/u/5035902?v=3","gravatar_id":"","url":"https://api.github.com/users/JungMinu","html_url":"https://github.com/JungMinu","followers_url":"https://api.github.com/users/JungMinu/followers","following_url":"https://api.github.com/users/JungMinu/following{/other_user}","gists_url":"https://api.github.com/users/JungMinu/gists{/gist_id}","starred_url":"https://api.github.com/users/JungMinu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JungMinu/subscriptions","organizations_url":"https://api.github.com/users/JungMinu/orgs","repos_url":"https://api.github.com/users/JungMinu/repos","events_url":"https://api.github.com/users/JungMinu/events{/privacy}","received_events_url":"https://api.github.com/users/JungMinu/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nodejs/node/labels/lib%20/%20src","name":"lib / src","color":"fad8c7"}],"state":"open","locked":false,"assignee":{"login":"Fishrock123","id":1093990,"avatar_url":"https://avatars.githubusercontent.com/u/1093990?v=3","gravatar_id":"","url":"https://api.github.com/users/Fishrock123","html_url":"https://github.com/Fishrock123","followers_url":"https://api.github.com/users/Fishrock123/followers","following_url":"https://api.github.com/users/Fishrock123/following{/other_user}","gists_url":"https://api.github.com/users/Fishrock123/gists{/gist_id}","starred_url":"https://api.github.com/users/Fishrock123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fishrock123/subscriptions","organizations_url":"https://api.github.com/users/Fishrock123/orgs","repos_url":"https://api.github.com/users/Fishrock123/repos","events_url":"https://api.github.com/users/Fishrock123/events{/privacy}","received_events_url":"https://api.github.com/users/Fishrock123/received_events","type":"User","site_admin":false},"milestone":null,"comments":45,"created_at":"2015-11-01T15:08:25Z","updated_at":"2015-11-12T16:49:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nodejs/node/pulls/3622","html_url":"https://github.com/nodejs/node/pull/3622","diff_url":"https://github.com/nodejs/node/pull/3622.diff","patch_url":"https://github.com/nodejs/node/pull/3622.patch"},"body":"Arrow functions are an interesting new feature in ECMAScript 6\r\nThe lexical `this` binding solves a major painpoint for developers and has the added bonus of improving performance through JavaScript engine optimizations.\r\n(See https://www.nczonline.net/blog/2013/09/10/understanding-ecmascript-6-arrow-functions/ for more information)\r\nTherefore, use `arrow functions` instead of `bind(this)` for better performance."},"comment":{"url":"https://api.github.com/repos/nodejs/node/issues/comments/156162933","html_url":"https://github.com/nodejs/node/pull/3622#issuecomment-156162933","issue_url":"https://api.github.com/repos/nodejs/node/issues/3622","id":156162933,"user":{"login":"trevnorris","id":289174,"avatar_url":"https://avatars.githubusercontent.com/u/289174?v=3","gravatar_id":"","url":"https://api.github.com/users/trevnorris","html_url":"https://github.com/trevnorris","followers_url":"https://api.github.com/users/trevnorris/followers","following_url":"https://api.github.com/users/trevnorris/following{/other_user}","gists_url":"https://api.github.com/users/trevnorris/gists{/gist_id}","starred_url":"https://api.github.com/users/trevnorris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trevnorris/subscriptions","organizations_url":"https://api.github.com/users/trevnorris/orgs","repos_url":"https://api.github.com/users/trevnorris/repos","events_url":"https://api.github.com/users/trevnorris/events{/privacy}","received_events_url":"https://api.github.com/users/trevnorris/received_events","type":"User","site_admin":false},"created_at":"2015-11-12T16:49:29Z","updated_at":"2015-11-12T16:49:29Z","body":"My recommendation would be to leave out all the non-trivial cases. There's plenty to change already, and a follow up PR where we can address a larger swath of other `.bind()` cases would be helpful."}}