DEV Community

Cover image for JavaScript Arrow & Regular functions case study
ch
ch

Posted on

JavaScript Arrow & Regular functions case study

We know the differences between arrow and regular functions in JavaScript. But sometimes I often meet difficult situations to predict the running results of JavaScript functions correctly.
So I have built simple test scripts to explain deeper about JavaScript functions and introduce here.
For the beginners, please visit here.

const case1 = { name: "Case1", fnArrow: () => { console.log("case1/fnArrow: ", this.name) }, fnRegular: function(){ console.log("case1/fnRegular: ", this.name) }, fnArrowOutside: () => { console.log("case1/fnArrowOutside: ", this.name) }, fnRegularOutside: function(){ console.log("case1/fnRegularOutside: ", this.name) }, } class Case2 { constructor() { this.name = "Case2" } fnArrow = () => { console.log("case2/fnArrow: ", this.name) } fnRegular(){ console.log("case2/fnRegular: ", this.name) } fnArrowOutside = () => { console.log("case2/fnArrowOutside: ", this.name) } fnRegularOutside(){ console.log("case2/fnRegularOutside: ", this.name) } } const case2 = new Case2() case1.fnArrow(); case1.fnRegular(); case2.fnArrow(); case2.fnRegular(); setTimeout(case1.fnArrowOutside, 100); setTimeout(case1.fnRegularOutside, 200); setTimeout(case2.fnArrowOutside, 300); setTimeout(case2.fnRegularOutside, 400); 
Enter fullscreen mode Exit fullscreen mode

And this is a running result.
Alt Text

Top comments (0)