SlideShare a Scribd company logo
In Commercial
Web
Applications
Submitted By:
Anirudh Gangwar
Information Technology
1404313010
Submitted To:
Prof. A.K. Solanki
Head of Department
1
Content
 What is Arrow?
 What are the benefits of using Arrow?
 Characteristic of Arrow.
 Facts on Arrow.
 Difference between traditional approach and by using Arrow.
 Promises, Event Programming and Event loop.
 Architecture of Event loop.
 Comparison between this and Lexical : this keyword.
 Conclusion
2
What is arrow ?
An arrow is a function that takes some input and
produces some output, possibly asynchronously.
It is a JavaScript library.
Syntax for Arrow function:-
function() replaced with “ => ”
3
What are the benefits of using
Arrow?
4
 Arrows is a new syntax for functions, which brings several
benefits:
 Arrow syntax automatically binds this to the
surrounding code’s context.
 The syntax allows an implicit return when there is no
body block, resulting in shorter and simpler code in
some cases.
 Last but not least, => is shorter and simpler than
function, although stylistic issues are often subjective.
Characteristics of Arrow.
5
Facts on ARROW ?
 Implicit return.
 this binding.
 Arrow subsume the sequencing and
error handing features of Promises.
 It also provide a means for cancelling
and repeated computation.
 Its solution to the problem of callbacks.
6
Difference in traditional approach
and with Arrow
7
/*traditiona
l
approach*/
New approach with Arrow
8
Promises and Event programming &
Event loop.
9
Promises are a way of dealing with asynchronous
code. Code using promises can make asynchronous
code easier to compose, and can also avoid the
common issue of “callback hell”.
A promise can only succeed or fail once. It cannot
succeed or fail twice, neither can it switch from success
to failure or vice versa.
There are three states of promise:
1. Pending 2. Fulfilled 3. Rejected
Constructing a promise
10
new promise (function(function resolve, function reject) resolver)
-> promise
Example:-
let promiseToCleanTheRoom = new Promise(function(resolve, reject) {
//cleaning room
Let isclean = true;
If(isclean){
Resolve(‘clean’) }
Else { reject();
} });
promiseToCleanTheRoom.then(function(fromResolve) { console.log(room is
+’fromResolve’); });
Event programming & Event Loop
11
EVENT LOOP
12
Architecture Of Event Loop
13
Comparison b/w this, bind this &
Lexical this.
 THIS KEYWORD :-
 this can be used to refer current class instance
variable.
 this() can be used to invoke current class constructor.
 this can be passed as an argument in the method call.
 this can be used to invoke current class method
(implicitly).
14
 When ‘this’ lost there context to parent function then we
declare a variable ( var x = this; ) and
after by using this variable we increase the
context of ‘this’ keyword throughout the parent
function to nested functions.
Ex:-
var usebind= { di=1;
var z= function( ){
console.log(this.di);
setTimeOut(function(console.log(that.di)){ }); .bind(this); }
15
Bind(this)
Lexical this
JavaScript has lexical scoping with function scope. In
other words, even though JavaScript looks like it
should have block scope because it uses curly braces {
}, a new scope is created only when you create a new
function.
function FooCtrl (FooService) {
this.foo = 'Hello';
FooService .doSomething((response) => this.foo =
response); }
16
Error handling
 Error handling mainly handled by promises in this
technology.
 Arrow library which is widely used now this time
it is composed of error handling tools.
There are also other basic libraries which are
useful in handling the error which occurred
exceptionally.
17
CONCLUSION
At the end we could conclude that, In future
we could easily integrate ARROW with real
world. And it will very helpful in designing and
and handling the exceptional error of web
applications.
18
Conclusion
References
[1] E. Fritz, T. Zhao, Type inference of asynchronous arrows in
JavaScript, Reactive and Event-based Languages & Systems
(2015).
[2] Y. P. Khoo, M. Hicks, J. S. Foster, V. Sazawal, Directing JavaScript
with arrows, in: Proceedings of the 5th Symposium on Dynamic
Languages, DLS ’09, ACM, New York, NY, USA, 2009, pp. 49–58.
[3] K. Gallaba, A. Mesbah, I. Beschastnikh, Don’t call us, we’ll call
you: Characterizing callbacks in javascript, in: Empirical Software
Engineering and Measurement (ESEM), 2015 ACM/IEEE
International Symposium on, IEEE, 2015.
19
ANY QUESTIONS??
20
THANK YOU.
21

More Related Content

Similar to Arrows in commercial web applications

Something for Nothing
Something for NothingSomething for Nothing
Something for Nothing
Kevlin Henney
 
Node.JS error handling best practices
Node.JS error handling best practicesNode.JS error handling best practices
Node.JS error handling best practices
Yoni Goldberg
 
Advanced JavaScript - Internship Presentation - Week6
Advanced JavaScript - Internship Presentation - Week6Advanced JavaScript - Internship Presentation - Week6
Advanced JavaScript - Internship Presentation - Week6
Devang Garach
 
Question Pattern in Object Oriented Programming
Question Pattern in Object Oriented ProgrammingQuestion Pattern in Object Oriented Programming
Question Pattern in Object Oriented Programming
Suman Mia
 
Yeahhhh the final requirement!!!
Yeahhhh the final requirement!!!Yeahhhh the final requirement!!!
Yeahhhh the final requirement!!!
olracoatalub
 
why c++11?
why c++11?why c++11?
why c++11?
idrajeev
 
379008-rc217-functionalprogramming
379008-rc217-functionalprogramming379008-rc217-functionalprogramming
379008-rc217-functionalprogramming
Luis Atencio
 
The evolution of asynchronous javascript
The evolution of asynchronous javascriptThe evolution of asynchronous javascript
The evolution of asynchronous javascript
Alessandro Cinelli (cirpo)
 
Introduction to functional programming
Introduction to functional programmingIntroduction to functional programming
Introduction to functional programming
Thang Mai
 
My final requirement
My final requirementMy final requirement
My final requirement
katrinaguevarra29
 
Functional Effects - Part 1
Functional Effects - Part 1Functional Effects - Part 1
Functional Effects - Part 1
Philip Schwarz
 
Swift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for DevelopersSwift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for Developers
Azilen Technologies Pvt. Ltd.
 
What is Closure and Its Uses in PHP
 What is Closure and Its Uses in PHP What is Closure and Its Uses in PHP
What is Closure and Its Uses in PHP
Andolasoft Inc
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
elliando dias
 
Javascript internals
Javascript internalsJavascript internals
Javascript internals
Nir Noy
 
Macasu, gerrell c.
Macasu, gerrell c.Macasu, gerrell c.
Macasu, gerrell c.
gerrell
 
Switch case and looping jam
Switch case and looping jamSwitch case and looping jam
Switch case and looping jam
JamaicaAubreyUnite
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
Troy Miles
 
Interoduction to c++
Interoduction to c++Interoduction to c++
Interoduction to c++
Amresh Raj
 
Web technologies-course 12.pptx
Web technologies-course 12.pptxWeb technologies-course 12.pptx
Web technologies-course 12.pptx
Stefan Oprea
 

Similar to Arrows in commercial web applications (20)

Something for Nothing
Something for NothingSomething for Nothing
Something for Nothing
 
Node.JS error handling best practices
Node.JS error handling best practicesNode.JS error handling best practices
Node.JS error handling best practices
 
Advanced JavaScript - Internship Presentation - Week6
Advanced JavaScript - Internship Presentation - Week6Advanced JavaScript - Internship Presentation - Week6
Advanced JavaScript - Internship Presentation - Week6
 
Question Pattern in Object Oriented Programming
Question Pattern in Object Oriented ProgrammingQuestion Pattern in Object Oriented Programming
Question Pattern in Object Oriented Programming
 
Yeahhhh the final requirement!!!
Yeahhhh the final requirement!!!Yeahhhh the final requirement!!!
Yeahhhh the final requirement!!!
 
why c++11?
why c++11?why c++11?
why c++11?
 
379008-rc217-functionalprogramming
379008-rc217-functionalprogramming379008-rc217-functionalprogramming
379008-rc217-functionalprogramming
 
The evolution of asynchronous javascript
The evolution of asynchronous javascriptThe evolution of asynchronous javascript
The evolution of asynchronous javascript
 
Introduction to functional programming
Introduction to functional programmingIntroduction to functional programming
Introduction to functional programming
 
My final requirement
My final requirementMy final requirement
My final requirement
 
Functional Effects - Part 1
Functional Effects - Part 1Functional Effects - Part 1
Functional Effects - Part 1
 
Swift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for DevelopersSwift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for Developers
 
What is Closure and Its Uses in PHP
 What is Closure and Its Uses in PHP What is Closure and Its Uses in PHP
What is Closure and Its Uses in PHP
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
 
Javascript internals
Javascript internalsJavascript internals
Javascript internals
 
Macasu, gerrell c.
Macasu, gerrell c.Macasu, gerrell c.
Macasu, gerrell c.
 
Switch case and looping jam
Switch case and looping jamSwitch case and looping jam
Switch case and looping jam
 
Ionic framework one day training
Ionic framework one day trainingIonic framework one day training
Ionic framework one day training
 
Interoduction to c++
Interoduction to c++Interoduction to c++
Interoduction to c++
 
Web technologies-course 12.pptx
Web technologies-course 12.pptxWeb technologies-course 12.pptx
Web technologies-course 12.pptx
 

Recently uploaded

Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
NgcHiNguyn25
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 

Recently uploaded (20)

Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 

Arrows in commercial web applications

  • 1. In Commercial Web Applications Submitted By: Anirudh Gangwar Information Technology 1404313010 Submitted To: Prof. A.K. Solanki Head of Department 1
  • 2. Content  What is Arrow?  What are the benefits of using Arrow?  Characteristic of Arrow.  Facts on Arrow.  Difference between traditional approach and by using Arrow.  Promises, Event Programming and Event loop.  Architecture of Event loop.  Comparison between this and Lexical : this keyword.  Conclusion 2
  • 3. What is arrow ? An arrow is a function that takes some input and produces some output, possibly asynchronously. It is a JavaScript library. Syntax for Arrow function:- function() replaced with “ => ” 3
  • 4. What are the benefits of using Arrow? 4  Arrows is a new syntax for functions, which brings several benefits:  Arrow syntax automatically binds this to the surrounding code’s context.  The syntax allows an implicit return when there is no body block, resulting in shorter and simpler code in some cases.  Last but not least, => is shorter and simpler than function, although stylistic issues are often subjective.
  • 6. Facts on ARROW ?  Implicit return.  this binding.  Arrow subsume the sequencing and error handing features of Promises.  It also provide a means for cancelling and repeated computation.  Its solution to the problem of callbacks. 6
  • 7. Difference in traditional approach and with Arrow 7 /*traditiona l approach*/
  • 9. Promises and Event programming & Event loop. 9 Promises are a way of dealing with asynchronous code. Code using promises can make asynchronous code easier to compose, and can also avoid the common issue of “callback hell”. A promise can only succeed or fail once. It cannot succeed or fail twice, neither can it switch from success to failure or vice versa. There are three states of promise: 1. Pending 2. Fulfilled 3. Rejected
  • 10. Constructing a promise 10 new promise (function(function resolve, function reject) resolver) -> promise Example:- let promiseToCleanTheRoom = new Promise(function(resolve, reject) { //cleaning room Let isclean = true; If(isclean){ Resolve(‘clean’) } Else { reject(); } }); promiseToCleanTheRoom.then(function(fromResolve) { console.log(room is +’fromResolve’); });
  • 11. Event programming & Event Loop 11
  • 14. Comparison b/w this, bind this & Lexical this.  THIS KEYWORD :-  this can be used to refer current class instance variable.  this() can be used to invoke current class constructor.  this can be passed as an argument in the method call.  this can be used to invoke current class method (implicitly). 14
  • 15.  When ‘this’ lost there context to parent function then we declare a variable ( var x = this; ) and after by using this variable we increase the context of ‘this’ keyword throughout the parent function to nested functions. Ex:- var usebind= { di=1; var z= function( ){ console.log(this.di); setTimeOut(function(console.log(that.di)){ }); .bind(this); } 15 Bind(this)
  • 16. Lexical this JavaScript has lexical scoping with function scope. In other words, even though JavaScript looks like it should have block scope because it uses curly braces { }, a new scope is created only when you create a new function. function FooCtrl (FooService) { this.foo = 'Hello'; FooService .doSomething((response) => this.foo = response); } 16
  • 17. Error handling  Error handling mainly handled by promises in this technology.  Arrow library which is widely used now this time it is composed of error handling tools. There are also other basic libraries which are useful in handling the error which occurred exceptionally. 17
  • 18. CONCLUSION At the end we could conclude that, In future we could easily integrate ARROW with real world. And it will very helpful in designing and and handling the exceptional error of web applications. 18 Conclusion
  • 19. References [1] E. Fritz, T. Zhao, Type inference of asynchronous arrows in JavaScript, Reactive and Event-based Languages & Systems (2015). [2] Y. P. Khoo, M. Hicks, J. S. Foster, V. Sazawal, Directing JavaScript with arrows, in: Proceedings of the 5th Symposium on Dynamic Languages, DLS ’09, ACM, New York, NY, USA, 2009, pp. 49–58. [3] K. Gallaba, A. Mesbah, I. Beschastnikh, Don’t call us, we’ll call you: Characterizing callbacks in javascript, in: Empirical Software Engineering and Measurement (ESEM), 2015 ACM/IEEE International Symposium on, IEEE, 2015. 19