Would you like to clone this notebook?

When you clone a notebook you are able to make changes without affecting the original notebook.

Cancel

ES6 Arrow Functions

node v4.9.1
version: 2.0.0
endpointsharetweet
Arrow functions (also known as fat arrow functions) have a shorter syntax compared to traditional function expressions and lexically bind the this value. Arrow functions are also always anonymous. Here we are using the shortest form, where the body is a simple expression and we can drop the parenthesis around the parameter since there is only one:
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Same as function(number) { return number * 2 } var doubled = numbers.map(number => number * 2);
If we want multiple parameters, we can add the parenthesis and curly braces back:
// Same as function(runningTotal, number) { return runningTotal + number } var sum = numbers.reduce((runningTotal, number) => runningTotal + number, 0);
Finally, more complex multistatement arrow functions can use curly braces:
// Here all we're really saving is the function() heading. numbers.map(number => { if (number % 3 == 0 && number % 5 === 0) return "Fizz Buzz"; if (number % 3 === 0) return "Fizz"; if (number % 5 === 0) return "Buzz"; return number; }).join("<br/>")
Arrow functions can also make your code less complex since they'll use the "this" of the surrounding scope, instead of introducing their own. This means you can avoid having to bind in many cases:
var cart = { items: [], addItem: function(anItem) { console.log("Added " + anItem + "!"); this.items.push(anItem); }, addAll: function(newItems) { // Before we'd have to do (function(anItem) { this.addItem(anItem) }).bind(this) newItems.forEach(anItem => this.addItem(anItem)); } } cart.addAll(["pickels", "tomatoes", "cheese"])
To learn more about arrow functions, check out https://hacks.mozilla.org/2015/06/es6-in-depth-arrow-functions/ Some of these examples and explanations originally taken and modified from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions https://github.com/lukehoban/es6features#arrows https://en.wikipedia.org/wiki/Fizz_buzz
Loading…

38 comments

  • posted 3 years ago by araid-en10
    What tool root #q
  • posted 3 years ago by kevitalin39
    Tool root #q
  • posted 3 years ago by adrieljaredtubong
    Good
  • posted 3 years ago by jackpot1136
    I have to say thank you for your help.
  • posted 2 years ago by comyoussef
    Goood
  • posted 2 years ago by sherrielee
    Please can you help i dont understand this its not working
  • posted 2 years ago by doge344
    Doge1223
  • posted 2 years ago by shenk0786
    Please help on this
  • posted 2 years ago by stsl
    чудово
  • posted 2 years ago by tamu18115
    automobileservices.org
  • posted 2 years ago by chatjan0922
    KASITHBK
  • posted 2 years ago by nelson1576
    Please help me out
  • posted 2 years ago by 5b899289de269400127763f4
    Ayuda por fabor
  • posted 2 years ago by cashcashn
    I can't figure out guys umm umm
  • posted 2 years ago by sohelshaikh5465
    Sohel shaikh 5465
  • posted 2 years ago by viloka
    I need some helping hands here
  • posted 2 years ago by anspage
    @anspage
  • posted 2 years ago by dgb
    MU
  • posted 2 years ago by murdy
    Murdy
  • posted 2 years ago by malayanhac
    good morning to all SIFU And MahaGuru, i dont know what the mission today, malaysia amex huntersWas RIP.
  • posted a year ago by because67
    How do I delete this account
  • posted a year ago by wow
    https://github.com/password_reset/AJHZT4HTEQ44HWJUPPFXN7K47TMYTA5FMVWWC2LMWNTW6ZDZM5XW63DFIBTW2YLJNQXGG33NUVTG64TDMXBLG5DXN5PWMYLDORXXEX3WMVZGSZTJMVSME
  • posted a year ago by ultraprecisekamal
    ()=>`Thank you runkit team`
  • posted a year ago by 5d44a5261549b3001313407f
    Ass
  • posted a year ago by 5d5d647b2ddea900148b41fe
    https://dioulde.home.blog https://diouldehome.wordpress.com https://diouldebaldehome.wordpress.com Pourquoi ça ne reduise pas en 1?
  • posted 9 months ago by 5db066a397504b001306620e
    https://m.adam4adam.com/
  • posted 6 months ago by 5e486b9907092500138c7ac5
    Runkit Save Account ES6 Arrow Functions node v4.9.1version: 2.0.0endpointsharetweet Arrow functions (also known as fat arrow functions) have a shorter syntax compared to traditional function expressions and lexically bind the this value. Arrow functions are also always anonymous. ​ Here we are using the shortest form, where the body is a simple expression and we can drop the parenthesis around the parameter since there is only one: 1 var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 2 ​ 3 // Same as function(number) { return number * 2 } 4 var doubled = numbers.map(number => number * 2); [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] If we want multiple parameters, we can add the parenthesis and curly braces back: 5 // Same as function(runningTotal, number) { return runningTotal + number } 6 var sum = numbers.reduce((runningTotal, number) => runningTotal + number, 0); 55 Finally, more complex multistatement arrow functions can use curly braces: 7 // Here all we're really saving is the function() heading. 8 numbers.map(number => 9 { 10 if (number % 3 == 0 && number % 5 === 0) 11 return "Fizz Buzz"; 12 ​ 13 if (number % 3 === 0) 14 return "Fizz"; 15 ​ 16 if (number % 5 === 0) 17 return "Buzz"; 18 19 return number; 20 }).join("<br/>") "1<br/>2<br/>Fizz<br/>4<br/>Buzz<br/>Fizz<br/>7<br/>8<br/>Fizz<br/>Buzz" Arrow functions can also make your code less complex since they'll use the "this" of the surrounding scope, instead of introducing their own. This means you can avoid having to bind in many cases: 21 var cart = 22 { 23 items: [], 24 addItem: function(anItem) 25 { 26 console.log("Added " + anItem + "!"); 27 this.items.push(anItem); 28 }, 29 addAll: function(newItems) 30 { 31 // Before we'd have to do (function(anItem) { this.addItem(anItem) }).bind(this) 32 newItems.forEach(anItem => this.addItem(anItem)); 33 } 34 } 35 ​ 36 cart.addAll(["pickels", "tomatoes", "cheese"]) "Added pickels!" "Added tomatoes!" "Added cheese!" undefined To learn more about arrow functions, check out https://hacks.mozilla.org/2015/06/es6-in-depth-arrow-functions/ ​ Some of these examples and explanations originally taken and modified from: ​ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions https://github.com/lukehoban/es6features#arrows https://en.wikipedia.org/wiki/Fizz_buzz 26 comments posted 3 years ago by araid-en10 What tool root #q posted 3 years ago by kevitalin39 Tool root #q posted 2 years ago by adrieljaredtubong Good posted 2 years ago by jackpot1136 I have to say thank you for your help. posted 2 years ago by comyoussef Goood posted 2 years ago by sherrielee Please can you help i dont understand this its not working posted 2 years ago by doge344 Doge1223 posted 2 years ago by shenk0786 Please help on this posted 2 years ago by stsl чудово posted 2 years ago by tamu18115 automobileservices.org posted a year ago by chatjan0922 KASITHBK posted a year ago by nelson1576 Please help me out posted a year ago by 5b899289de269400127763f4 Ayuda por fabor posted a year ago by cashcashn I can't figure out guys umm umm posted a year ago by sohelshaikh5465 Sohel shaikh 5465 posted a year ago by viloka I need some helping hands here posted a year ago by anspage @anspage posted a year ago by dgb MU posted a year ago by murdy Murdy posted a year ago by malayanhac good morning to all SIFU And MahaGuru, i dont know what the mission today, malaysia amex huntersWas RIP. posted 10 months ago by because67 How do I delete this account posted 8 months ago by wow https://github.com/password_reset/AJHZT4HTEQ44HWJUPPFXN7K47TMYTA5FMVWWC2LMWNTW6ZDZM5XW63DFIBTW2YLJNQXGG33NUVTG64TDMXBLG5DXN5PWMYLDORXXEX3WMVZGSZTJMVSME posted 8 months ago by ultraprecisekamal ()=>`Thank you runkit team` posted 6 months ago by 5d44a5261549b3001313407f Ass posted 6 months ago by 5d5d647b2ddea900148b41fe https://dioulde.home.blog https://diouldehome.wordpress.com https://diouldebaldehome.wordpress.com Pourquoi ça ne reduise pas en 1? posted 3 months ago by 5db066a397504b001306620e https://m.adam4adam.com/ Add a comment
  • posted 6 months ago by nhatthanhlatao
    Runkit Save Account ES6 Arrow Functions node v4.9.1version: 2.0.0endpointsharetweet Arrow functions (also known as fat arrow functions) have a shorter syntax compared to traditional function expressions and lexically bind the this value. Arrow functions are also always anonymous. ​ Here we are using the shortest form, where the body is a simple expression and we can drop the parenthesis around the parameter since there is only one: 1 var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 2 ​ 3 // Same as function(number) { return number * 2 } 4 var doubled = numbers.map(number => number * 2); [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] If we want multiple parameters, we can add the parenthesis and curly braces back: 5 // Same as function(runningTotal, number) { return runningTotal + number } 6 var sum = numbers.reduce((runningTotal, number) => runningTotal + number, 0); 55 Finally, more complex multistatement arrow functions can use curly braces: 7 // Here all we're really saving is the function() heading. 8 numbers.map(number => 9 { 10 if (number % 3 == 0 && number % 5 === 0) 11 return "Fizz Buzz"; 12 ​ 13 if (number % 3 === 0) 14 return "Fizz"; 15 ​ 16 if (number % 5 === 0) 17 return "Buzz"; 18 19 return number; 20 }).join("<br/>") "1<br/>2<br/>Fizz<br/>4<br/>Buzz<br/>Fizz<br/>7<br/>8<br/>Fizz<br/>Buzz" Arrow functions can also make your code less complex since they'll use the "this" of the surrounding scope, instead of introducing their own. This means you can avoid having to bind in many cases: 21 var cart = 22 { 23 items: [], 24 addItem: function(anItem) 25 { 26 console.log("Added " + anItem + "!"); 27 this.items.push(anItem); 28 }, 29 addAll: function(newItems) 30 { 31 // Before we'd have to do (function(anItem) { this.addItem(anItem) }).bind(this) 32 newItems.forEach(anItem => this.addItem(anItem)); 33 } 34 } 35 ​ 36 cart.addAll(["pickels", "tomatoes", "cheese"]) "Added pickels!" "Added tomatoes!" "Added cheese!" undefined To learn more about arrow functions, check out https://hacks.mozilla.org/2015/06/es6-in-depth-arrow-functions/ ​ Some of these examples and explanations originally taken and modified from: ​ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions https://github.com/lukehoban/es6features#arrows https://en.wikipedia.org/wiki/Fizz_buzz 26 comments posted 3 years ago by araid-en10 What tool root #q posted 3 years ago by kevitalin39 Tool root #q posted 2 years ago by adrieljaredtubong Good posted 2 years ago by jackpot1136 I have to say thank you for your help. posted 2 years ago by comyoussef Goood posted 2 years ago by sherrielee Please can you help i dont understand this its not working posted 2 years ago by doge344 Doge1223 posted 2 years ago by shenk0786 Please help on this posted 2 years ago by stsl чудово posted 2 years ago by tamu18115 automobileservices.org posted a year ago by chatjan0922 KASITHBK posted a year ago by nelson1576 Please help me out posted a year ago by 5b899289de269400127763f4 Ayuda por fabor posted a year ago by cashcashn I can't figure out guys umm umm posted a year ago by sohelshaikh5465 Sohel shaikh 5465 posted a year ago by viloka I need some helping hands here posted a year ago by anspage @anspage posted a year ago by dgb MU posted a year ago by murdy Murdy posted a year ago by malayanhac good morning to all SIFU And MahaGuru, i dont know what the mission today, malaysia amex huntersWas RIP. posted 10 months ago by because67 How do I delete this account posted 8 months ago by wow https://github.com/password_reset/AJHZT4HTEQ44HWJUPPFXN7K47TMYTA5FMVWWC2LMWNTW6ZDZM5XW63DFIBTW2YLJNQXGG33NUVTG64TDMXBLG5DXN5PWMYLDORXXEX3WMVZGSZTJMVSME posted 8 months ago by ultraprecisekamal ()=>`Thank you runkit team` posted 6 months ago by 5d44a5261549b3001313407f Ass posted 6 months ago by 5d5d647b2ddea900148b41fe https://dioulde.home.blog https://diouldehome.wordpress.com https://diouldebaldehome.wordpress.com Pourquoi ça ne reduise pas en 1? posted 3 months ago by 5db066a397504b001306620e https://m.adam4adam.com/ Add a comment
  • posted 5 months ago by cutmuetia
    Cutmuetia1998 V.1.0.0
  • posted 5 months ago by alfian878787
    https://github.com/mizuka-wu/git-mirror-action/blob/ccf4b66c8441ea570ac13a06aacfc94ccc9ba36d/git-mirror.sh
  • posted 3 months ago by w5g
    Hello World
  • posted 3 months ago by fc5gl
    exports.endpoint = function(request, response) { // your code goes here }
  • posted 3 months ago by fc5gl
    exports.endpoint = function(request, response) { // your code goes here }
  • posted 3 months ago by fc5gl
    Missassug A20s
  • posted 3 months ago by fc5gl
    Liverar sansug a20s
  • posted 3 months ago by fc5gl
    Sansug a20s desbloquear
  • posted 2 months ago by pierre030
    run
  • posted 22 days ago by 5f18c5cd819d4d001ab8c527
    Albrg.com

sign in to comment