16.3: ES6 Arrow Function - Topics of JavaScript/ES6

Sdílet
Vložit
  • čas přidán 29. 10. 2017
  • In this video, I cover anonymous functions with the arrow syntax in ES6 JavaScript.
    Next Video on ES6: • 16.4: for...of loop - ...
    Support this channel on Patreon: / codingtrain
    To buy Coding Train merchandise: www.designbyhumans.com/shop/c...
    To Support the Processing Foundation: processingfoundation.org/support
    Send me your questions and coding challenges!: github.com/CodingTrain/Rainbo...
    Contact:
    Twitter: / shiffman
    The Coding Train website: thecodingtrain.com/
    Source Code for the all Video Lessons: github.com/CodingTrain/Rainbo...
    p5.js: p5js.org/
    Processing: processing.org
    For an Intro to Programming using p5.js: • Start learning here!
    For Coding Challenges: • Coding Challenges
    Help us caption & translate this video!
    amara.org/v/cJ4E/
    📄 Code of Conduct: github.com/CodingTrain/Code-o...

Komentáře • 517

  • @bte320
    @bte320 Před 6 lety +256

    I really like that you don't edit out your mistakes, these are the same mistakes I make and it's cool to see someone else going through the process. Makes your tutorials much more relatable.

    • @WistrelChianti
      @WistrelChianti Před rokem

      I suspect the ones here were deliberate but for purpose as he's aiming to illustrate the gotchas and their fixes

    • @lesliehui
      @lesliehui Před rokem

      @Dragon arrow functions are always anonymous regardless whether you assign them to a variable a not

  • @flieranonymous4588
    @flieranonymous4588 Před 6 lety +678

    Best programming teacher on internet..........

    • @haideralipunjabi
      @haideralipunjabi Před 6 lety +2

      Flier Anonymous Agreed. Your opinion might change after watching the steams

    • @mohsinshaikh8944
      @mohsinshaikh8944 Před 6 lety

      Haider Ali Punjabi who cares the steam when you have coding train with you.... At least my opinions Will not..

    • @haideralipunjabi
      @haideralipunjabi Před 6 lety +6

      mohsin shaikh My opinion, you learn things like debugging, mistakes, etc from the stream only

    • @bastifmbh
      @bastifmbh Před 6 lety +5

      i find it very interesting how other programmers approach a problem.. and just watching the progress and the thinking of someone like daniel really helps a lot imho.. unless you're an expereinced professional yet i guess..

    • @BonefxInaxclan123
      @BonefxInaxclan123 Před 6 lety +4

      Urmmmmm travesy media check him out you will thank me later

  • @LandonHughes2
    @LandonHughes2 Před 6 lety +19

    Daniel, I literally CANNOT thank you enough! You are an UNBELIEVABLY amazing teacher!! Thank you SO much! I've wanted to understand how a computer thinks since I was exposed to them at the age of 5 (I got my first Gameboy with Yoshi's Island). I wanted to learn how to make games. The first time I was ever exposed to programming was my Junior year of high school (had a Java class). I hated it for the fact that my teacher was horrible! Nothing made sense. I wanted to like programming so much! Fast forward a few years later (2015), I took some Python courses, Swift courses, and C# courses on Udemy. All of them were incredibly basic and the instructors were very boring. I picked up all the basic things such as if/else logic, different data types, for loops/while loops, etc. All of them ended the same way; once they got to classes and objects, I gave up.
    Fast forward another year (2016) I picked up GameMaker, which is easy to understand for beginners. Everything that I learned in those courses transferred over nicely, but when it got time to debug, I gave up again :/
    Now fast forward into 2018, I found you! I remember you showed up in my Suggested Videos with your "Coding Challenge: Flappy Bird video". I subbed instantly! It was until this past week I watched your P5.js and Node Tutorials. I am SOOO glad I did. Like I said, computers have always fascinated me at young age. Thank you for teaching me the gift of programming! Thank you, thank you, thank you! I love that everything is starting to click now, which is what I wanted from the start. I'm pretty sure your style of teaching is how I'm able learn. Like I said in this comment and in previous comments, you are an unbelievably AMAZING teacher! Reading debugging errors is making SO much more sense now. Thank you so much times 1000 and keep up these awesome videos :)

    • @shubham-itachi
      @shubham-itachi Před 7 měsíci

      What are doing now it's been half decade.

  • @pbznt
    @pbznt Před 3 lety +9

    I begin programming on Codecademy, and in 1 month I will begin an official coding course in college. I needed a channel like yours to get motivated and the way you explain everything is very fun and simple. Very entertaining and motivating!:) (From Quebec, Canada)

  • @KurtSchwind
    @KurtSchwind Před 6 lety +8

    I've been using arrow functions for a while. It took a bit of time to wrap my head around some of the advantages but now it's nearly second nature. Good video. Keep up the good work.

  • @caio-jl6qw
    @caio-jl6qw Před 5 lety +13

    I love this channel. I've learnt so much about JS since I started watching you.

  • @piczel9631
    @piczel9631 Před 6 lety +4

    Please don't stop do what you do. You are so funny and entertaining while still being extremely helpful => crucial things for an amazing teacher!

  • @blargflarg
    @blargflarg Před 5 lety +2

    Holy crap. I absolutely love watching your videos on JS. JS has been one of the toughest languages I've come across, and you make it understandable and easy. Thank you!

  • @vincej151
    @vincej151 Před 4 lety +2

    You are truly gifted! I have watched hundreds of tutorials. I build complex software. And you are the best I have seen.

  • @benmoren5828
    @benmoren5828 Před 6 lety +2

    This video @ 5:46 totally saved me recently from so many `var that = this` statements in a recent project. I'm totally hooked on the arrow functions now!

    • @TheCodingTrain
      @TheCodingTrain  Před 6 lety +1

      I'm so glad to hear this!

    • @benmoren5828
      @benmoren5828 Před 6 lety

      Heres what I was working on, it's not a sketch, but it is p5 related :) : atom.io/packages/p5js-toolbar

    • @mrss649
      @mrss649 Před 4 lety

      @@benmoren5828 Im going to download that tommorow. Kepp developing!

    • @mrss649
      @mrss649 Před 4 lety

      @@benmoren5828 oh and also,
      1: Can you share the source code for that because that would be cool
      2:Where did you learn to make stuff like that

    • @BenMoren
      @BenMoren Před 4 lety

      @@mrss649 Source is available in the github repository here: github.com/bmoren/p5js-toolbar.

  • @samhero479
    @samhero479 Před 4 lety +1

    This guy is so friendly and full of life. Kudos to your contagious enthusiasm! Much love.

  • @shivam_0002
    @shivam_0002 Před 5 lety +6

    11:43 You are making the World a Happy Place by the way you teach.

  • @trollanddrump5326
    @trollanddrump5326 Před 4 lety +21

    Never in my entire life have I ever felt so much discomfort and anxiety over something as trivial as 2 bytes of tormenting equality symbols! Some nights when I don't get some sleep, I think it's because of the => like it's some kind of evil emoji jeering at me.

    • @Bigsupreme2000
      @Bigsupreme2000 Před 2 lety

      Some gusta who introed it did not realize a lot of amateurs gonna get lost at it 😂

  • @KayinAngel
    @KayinAngel Před 5 lety +2

    Been watching a bunch of your videos lately, and am unsure if your "mistakes" actually are genuine mistakes or planned examples of mistakes, but for some reason it seems to help me learn and retain better than someone whipping through it without explaining why something fails if done wrong. I dig.

  • @jaldipupadhyay4910
    @jaldipupadhyay4910 Před 5 lety +3

    It was so helpful and you are truly humble. I laughed at 8:22 when you said, if you are still watching this video you are really nice person LOL. I don't know how can we payback to people like you. Cheers

  • @konkenbonken
    @konkenbonken Před 4 lety +2

    I just realised that you make really great tutorials as well as your coding challenges. I've just watched those(and I love them❤).

  • @cprogramming5640
    @cprogramming5640 Před 6 lety +73

    That is spooky. Code used to be cryptic and the emphasis has been on making programs more readable. Now we are headed back to more cryptic. Spooky “crypt”ic

    • @youngcitybandit
      @youngcitybandit Před 4 lety

      No it isnt... it is as readable as ever if you know what youre doing you can make anything readable.

    • @momahdy
      @momahdy Před 4 lety +1

      you gotta learn the language so you can read it

    • @0xssff
      @0xssff Před 4 lety

      From low level to high level to low level "syntax"..

  • @phil5992
    @phil5992 Před 4 lety +1

    this guy is a total goober and good lord do i love it. i had a college math professor EXACTLY like this, and you sir, captivate my attention. you got yourself another avid viewer!

  • @Engineer9736
    @Engineer9736 Před 5 lety

    These videos really update my Javascript knowledge properly. To stay uptodate one needs input from somewhere.. could be a forum community or official documents, but these videos are just easy. Just press play and follow along 🙂

  • @judeaf.4393
    @judeaf.4393 Před rokem +1

    You're so quirky, I love it!!! Awesome, clear explanation. I needed this clarification before I read any more reference articles... sometimes they can become confusing or simply do not explain enough and I am left with questions. Awesome, awesome explanation- thanks!

  • @robocop30301
    @robocop30301 Před 5 lety +2

    So happy that I found this channel! Thanks for all the help!

  • @SayanChakraborty10397
    @SayanChakraborty10397 Před 4 lety

    Every time I forget any concept, this is the first (and sometimes the only) place I refer to. Thanks a lot!

  • @tonyp3173
    @tonyp3173 Před 5 lety

    This is probably the single best video you've ever did let alone the internet.

  • @TheWWWyrm
    @TheWWWyrm Před 6 lety +1

    What helps me to use const more often is using a linter set to highlight all variables that are never assigned and not const. Really helps in keeping code clean and understandable!

  • @someenglishgames
    @someenglishgames Před 6 lety +7

    Was very helpful in node.js to get a simple declaration for a function for a callback

  • @akosbarabas22
    @akosbarabas22 Před 5 lety +3

    Best explanation i could imagine, all i can say is thank you!

  • @presshun
    @presshun Před rokem

    Watching 5 years later to the day, so spooky was relatable! :D Thanks for the great vid!

  • @vibsh625
    @vibsh625 Před 4 lety +2

    7:00 It makes perfect sense, thanks you cleared the doubts i had on react event binding.

  • @NatetheAceOfficial
    @NatetheAceOfficial Před 6 lety +56

    I just need an excuse to apply the UnicornFluffyTimes function to make my project particularly magical.

  • @ZZZZZZZaaaart
    @ZZZZZZZaaaart Před 4 lety

    You are amazing. It didn't solve my question but... I learned new amazing things and also discovered you. From a begginer in programming in Spain, thank you and keep it up!

  • @tekoreypy
    @tekoreypy Před 4 lety

    I agree, to try new thing in programming is also interesting/exiting/spooky/terrifying/and whatevea, I used to avoid these things, but even if you say there is no reason to be afraid of them, you will always find something you don't want to start using, thanks Theacher Shiffman for encouraging us to try new things

  • @krushna7467
    @krushna7467 Před 3 lety

    The way u simply all the concepts is just awesome 💜
    Thanks a lot!!!

  • @AliveNotDeadmund
    @AliveNotDeadmund Před 3 lety +1

    Oh my god, that was hilarious! THANK YOU for unpacking The Spooky Arrow into a much more friendly concept.

  • @ArnoldsKtm
    @ArnoldsKtm Před 6 lety +10

    Recently learned about arrow fns while messing with node. It was confusing at first but it's basically just a shorthand function which ends up being much cleaner. Now I try to use it whenever.

    • @iskariotas
      @iskariotas Před 6 lety +5

      ArnoldsK there are catches with it tho. The scope is different than normal foos.

    • @dvorapat
      @dvorapat Před 6 lety +2

      @Nikolajus
      Exactly! It is not just "shorthand function". It could be clearly seen in the video with the Counter class example that it is not the same, because arrow functions use lexical scoping.
      I found this article helpful to tell a difference between "standard" function and arrow functions:
      derickbailey.com/2015/09/28/do-es6-arrow-functions-really-solve-this-in-javascript/

  • @arshadjaveed7877
    @arshadjaveed7877 Před 6 lety +99

    Arrow function => Lambda expressions ;)

    • @ruffianeo3418
      @ruffianeo3418 Před 5 lety +1

      Wait for his video once Haskell Arrows make it into ES 42 ;)

    • @protondecay4607
      @protondecay4607 Před 4 lety

      It's a bit different from regular functions in that the current execution context(this) refers to the Global (or undefined, if you're in strict mode) instead of the function itself for regular functions

  • @MrT246007
    @MrT246007 Před 6 lety

    Your vids help me so much. I'm new to programming and you dumb things down really well. Thank you for what you do.

  • @GraceandWisdom
    @GraceandWisdom Před 3 lety

    Daniel Schiffman, you are an awesome teacher and I understand most of what I don't know after you have shown me!!

  • @kingmonger4456
    @kingmonger4456 Před 4 lety

    I LOVE this mans videos so much, he makes it enjoyable while learning. so much personality.

  • @surajkawale2763
    @surajkawale2763 Před 5 lety

    Never ever stop teaching programming.I wish i could like this video 3000 times

  • @therobot4779
    @therobot4779 Před 5 lety

    watching in the future on a micro binge, that was such a weird intro and i loved it

  • @lucyvrxo
    @lucyvrxo Před 6 lety

    NEW SUBSCRIBER ~ your teaching style is so great! love your energy. can't wait to see more videos from you.

  • @newesttechdesigninnovation8121

    Might be the best teacher i came across
    and
    i usually dont even comment on peoples videos

  • @MrWardo2009
    @MrWardo2009 Před 5 lety

    That was epic! Thanks so much for making this video! It was explained really well!

  • @davidpark9020
    @davidpark9020 Před 5 lety

    Days of reading articles, blogs, books and still can't get it. This guy made me understand this within 20 min. Thumbs up high.

  • @jorgel9041
    @jorgel9041 Před 5 lety +1

    The spooky intro music is ok even in summer. They're spooky dude

  • @pradiptahafid
    @pradiptahafid Před 5 lety

    Hi Dan,
    As a beginner, I just want to let you know that your error is more valuable than the actual code that works. It saves me hours of time to figure out what's wrong with my code. That is why I always following your channel and reproducing the code that you made. Thanks for the information sharing.

  • @rubenjwz
    @rubenjwz Před 3 lety +2

    You're always able to humanize programming for me, and I thank you for it :)

  • @anrskp
    @anrskp Před 6 lety +1

    awesome content on this channel! keep up the good work.

  • @boultifnidhal2600
    @boultifnidhal2600 Před 3 lety

    You're the best teacher on earth, I love your intros so much.

  • @jobayerrifad544
    @jobayerrifad544 Před 3 lety +2

    I've never smiled while watching a tutorial unitl 8:15

  • @christopherLife
    @christopherLife Před 4 lety

    This is what a man who loves coding and teaching looks like!

  • @mrshurukan
    @mrshurukan Před 6 lety

    Awesome explanation! I resent this to my friend who didn't know the whole thing about those arrow functions! Thank you so much

  • @AdamMalesevic
    @AdamMalesevic Před rokem

    The best explanation of Arrow function on CZcams 🎉😊

  • @scottibr2
    @scottibr2 Před 5 lety +2

    thx, you just got my like by making me giggle about "unicorn fluffy times"

  • @syedbaryalay5849
    @syedbaryalay5849 Před 6 lety

    Watching this video was the most fun part of my day

  • @roltthehunter
    @roltthehunter Před 6 lety

    I just started coding with js a month ago i studied for 130 hours and i personally love arrow functions i feel like using them makes my code look more professional

  • @leinf4464
    @leinf4464 Před 6 lety +2

    The arrow functions seem like a part of kinda functional programming in Javascript and seem to be similair to the lambda expresions notation in Java to me. Great tutorial video as always :D

  • @alan614
    @alan614 Před 6 lety

    Video rocked ! Thanks for making it. I learned a lot :)

  • @sakif7
    @sakif7 Před 4 lety

    This was so well explained.
    Thank you so much!

  • @kereshim
    @kereshim Před 6 lety

    Love your explanations and enthusiasm!

  • @yunhann
    @yunhann Před 5 lety

    Finally understand it, thank you so much!

  • @PaulMcCannWebBuilder
    @PaulMcCannWebBuilder Před 5 lety

    Your mess up at 14:34 is the perfect learning opportunity to understand const! The fact that you don't edit those kinds of things out sets you apart from most teacher and tutorials. I'm going to pretend to make this mistake in my own classes!

  • @sanishchirayath4149
    @sanishchirayath4149 Před 2 lety

    I love this...Especially the 'CONST conter1'.., Thanks for making learning code fun

  • @mohsinshaikh8944
    @mohsinshaikh8944 Před 6 lety +42

    He is nice guy

  • @entalpa
    @entalpa Před 6 lety +9

    An anonomous function is hard to debug, because afterparty a error you dont get the name of the function where the error is if its a Callback function. Always try to name your functions

    • @tacarson
      @tacarson Před 6 lety +9

      Wouldn't you still get a line number?

    • @ThatsEli
      @ThatsEli Před 6 lety

      Tate Carson Depens on if you are transpiring and are/aren't using source maps :/

  • @fracasj
    @fracasj Před 3 lety

    You might have changed your opinion of the arrow function three years later (or not haha), but it's extremely vindicating as a new coder working their way to ES6 how frustrated you are by it! It's stumped me so many times and I'd much rather write out the function in total! But this helps a lot and maybe I'll learn to embrace it. Thank you again for another helpful tutorial!

  • @thydevdom
    @thydevdom Před 4 lety

    Loool. The opening. Great video!

  • @lswan6150
    @lswan6150 Před 5 lety

    Great video, very well explained!

  • @ohiriboi1872
    @ohiriboi1872 Před 6 lety

    It’s my first time to watch JS but am impressed 1000000%

  • @MrJatinpatodi
    @MrJatinpatodi Před 5 lety

    Very nice. A funny and easy way to learn complex stuff...great teaching skills

  • @silvanarojas5380
    @silvanarojas5380 Před 5 lety

    I like how you explain this topic.

  • @2ru2pacFan
    @2ru2pacFan Před 2 lety

    You and AutomationCat are the best coding teachers on the internet

  • @m7amedk
    @m7amedk Před 5 lety

    Looove you energy 🙏💜 You rock!!

  • @laurabennis3871
    @laurabennis3871 Před 5 lety +1

    omg i love this human being xd, thank you so much for your video

  • @lofofojb
    @lofofojb Před 2 lety

    This channel is so cool ! Thanks you Coding Train !

  • @adaliadasilva4200
    @adaliadasilva4200 Před 2 lety

    Lemme tell you, you are great at explaining. (Y) Love your euphoric energy. Super pure! :)

  • @ibknl1986
    @ibknl1986 Před 6 lety

    Very nice way of teaching. Quite energetic

  • @PirateCaptain_ThunderHook

    this is really helpful, thanks for having this video on the internet.

  • @dinoXman
    @dinoXman Před 5 lety +1

    Wow.. he's very good at drawing horizontal straight line.. amazing

  • @octaviotastico
    @octaviotastico Před 5 lety

    Thank you for this amazing videos c:

  • @mehdiwadoud8098
    @mehdiwadoud8098 Před 6 lety

    Hey man you almost killed me at 8:10 lol, i really admire the way you are making your lesson one of my best teachers

  • @brutalbutler
    @brutalbutler Před 4 lety

    my fav teacher, wish i had you as a lecturer

  • @d74g0n
    @d74g0n Před 5 lety

    Watching this today ... just before Halloween 2018... and thought it was a new post I missed.

  • @kim15742
    @kim15742 Před 6 lety +1

    Hey, it'd be awesome if you could make a video on JS' this keyword. I am really confused by it coming from C++.

  • @UweEichel
    @UweEichel Před 6 lety +3

    There is a way to use arrow notation outside of IEFEs. You could write something like
    var fun = (args) => {
    /* Your code here */
    }.
    Honestly, as somebody with a mathematical background, this way of writing functions seems very natural to me. When you (properly) define a function in mathematics, you also write
    f: Domain -> Image
    x => x^2.
    The new arrow notation could only be closer to that notation if you actually had to define the type of the arguments and the return value. I love the arrow notation

    • @RedsBoneStuff
      @RedsBoneStuff Před 6 lety

      You sound like a fan of Lisp ;)

    • @matthewrice7590
      @matthewrice7590 Před 6 lety +1

      This would work but you would always want to use “const” when declaring a function and not “var”, as you would never want to reassign a function’s functionality(there’s probably a better way of putting this :) ) within a program. Just nit picky stuff but a programming standard nonetheless.

    • @UweEichel
      @UweEichel Před 6 lety

      I have never thought of that. You are probably absolutely correct.

  • @artakan303
    @artakan303 Před 6 lety

    I love you ;-) You make me smile watching you !

  • @ganstabreakincity
    @ganstabreakincity Před 6 lety +14

    8:14 deserved like

  • @iFunkMasterJ
    @iFunkMasterJ Před 6 lety

    4:28 - Did wonder how you were going to cover/edit that up from the live stream :P

  • @menechimkasparow4182
    @menechimkasparow4182 Před 6 lety

    Great video spread the good word about the arrow function

  • @akshaypandey6086
    @akshaypandey6086 Před 5 lety +1

    THAT WAS AMAZINGGGGG...My life is better now and I can sleep

  • @danielakachi3666
    @danielakachi3666 Před 6 lety

    Ha nice teaching ... love the sound effects!

  • @alwysrite
    @alwysrite Před 5 lety

    such a happy and good teaching style ! may I ask what laptop are you using?

  • @joesminis
    @joesminis Před 6 lety

    You have just cleared up so much for me and I am only 3 minutes in

  • @craigburton4447
    @craigburton4447 Před 3 lety +1

    14:01 love the sound board

  • @mephesh
    @mephesh Před 5 lety

    18:15 *mindblown* great demonstration of how function() {} and () => {} have different this behaviour

  • @sol0matrix
    @sol0matrix Před 6 lety

    Escaping this video for now until my next app version rewrite

  • @jl-dq5ch
    @jl-dq5ch Před 5 lety

    0:49 dude, you nailed that sentence 👍

  • @warrenwong4518
    @warrenwong4518 Před 3 lety

    You have a gift for teaching!

  • @reubencf
    @reubencf Před 5 lety

    ohhhhhhh finnally i could understand this thank you

  • @jorgedavalos5663
    @jorgedavalos5663 Před 4 lety

    the good old blackboard!! def works great for explaining things ! nobody uses it though! hope some other guys that teach coding learn from you. cheers!