The JavaScript Survival Guide

Поделиться
HTML-код
  • Опубликовано: 14 июл 2019
  • The JavaScript Survival Guide 🧟 provides protection from the so-called "weird" features that you will encounter as a JS developer. This primer will introduce you to variables, functions, objects, closures, hoisting, this-binding, and more. fireship.io/courses/javascript/
    #javascript #tutorial
    Primary source: developer.mozilla.org
    Take the quiz 🤓
    iOS itunes.apple.com/us/app/fires...
    Android play.google.com/store/apps/de...
    Upgrade to Fireship PRO at fireship.io/pro
    Use code lORhwXd2 for 25% off your first payment.
  • НаукаНаука

Комментарии • 709

  • @darshangowda309
    @darshangowda309 4 года назад +1382

    Who knew a tutorial could be this entertaining :P

    • @alejandrocano88
      @alejandrocano88 4 года назад +5

      haha i know

    • @Deskofmj
      @Deskofmj 4 года назад +2

      i just said broooo and left :D couldn't handle it man

    • @diegoruelas603
      @diegoruelas603 4 года назад +1

      Lol

    • @christianpaul5224
      @christianpaul5224 3 года назад +5

      That's a 45 minutes in a nutshell.

    • @angelmeza9716
      @angelmeza9716 Год назад

      3txx xx xxx xx ttx🇦🇴🇨🇮🇧🇮🇧🇯📶🔉📟
      R
      Xezrzñpp

  • @thatnod
    @thatnod 4 года назад +481

    I first contracted the JavaScript virus 21 years ago, so I'm not exactly new to it.
    In under 15 minutes you explained everything I found confusing or contrary. It now makes sense.
    No longer will I think of JavaScript as quirky and insidious.
    Thank you!

    • @noscreadur
      @noscreadur 2 года назад +17

      Likewise Mr. L: After 21 years JavaScript is almost unrecognisable in structure and scope. It's not a dirty hack anymore, it is the full-stack/style agnostic/polished hegemonic state of the art.

    • @carlosmspk
      @carlosmspk 2 года назад +8

      @@noscreadur use Typescript though...

    • @bparlan
      @bparlan Год назад +5

      I began coding with Basic in 1998, used html css sql and python until 2008, then stopped. Now I am trying to learn react, needed that javascript stuff, this video is beyond enlightenment.

    • @willmil1199
      @willmil1199 Год назад +2

      same

    • @b4ttlemast0r
      @b4ttlemast0r Год назад +4

      it still doesnt make sense lol, but at least you understand it now

  • @whong09
    @whong09 3 года назад +440

    "You should respect the legacy of var but never use it."
    Why do I feel like you're not even being ironic about this.

    • @tvguideondemand
      @tvguideondemand 3 года назад +53

      Why would he be ironic? Is there any legitimate reason to use var in 2020?

    • @Neko_Void
      @Neko_Void 3 года назад +46

      @@tvguideondemand ignorance

    • @this_mfr
      @this_mfr 3 года назад +16

      I'm learning JS and I keep running into things saying that Let should only ever designate a local variable and Var should be used for global. But that global variables are dangerous and so only local variables should be used, meaning you would use Let...but that doesn't explain why not use Var?
      Legit questions because I keep seeing conflicting stuff...

    • @MrMontana1990
      @MrMontana1990 3 года назад +10

      @@tvguideondemand if you are writing js that will not be transpiled (babel or typescript) and usage by legacy browser should be possible you still have to use var. that should be mentioned

    • @xyzzy64
      @xyzzy64 2 года назад +9

      @@this_mfr If you have a global variable then it should be declared in such a way that it would remain global even by using the let keyword, otherwise you might want to look into how you're writing your code. Don't use var, let defines variables as god intended lmao

  • @MrDoom159
    @MrDoom159 4 года назад +113

    Never seen a more intense JS tutorial before

  • @Fireship
    @Fireship  4 года назад +91

    Glaring typo *Primatives* 🐵 - I am aware, but can't fix it now 😭. Also, primitive constructors should have a `new` keyword. String('foo') is the same as 'foo' (literal syntax), but *new String('foo')* is what I was talking about in the video.

    •  4 года назад +1

      Np, you can perhaps add annotations.

    • @Fireship
      @Fireship  4 года назад +11

      @ I would, but that's not possible on RUclips anymore.

    • @modolief
      @modolief 4 года назад

      Yikes ...

  • @newtonmunene
    @newtonmunene 4 года назад +124

    Fireship is perfect for me. The videos are brief but comprehensive. This makes them interesting. It also makes them perfect as refreshers. I also get to learn so many new things with every video.

  • @KJMcLaws
    @KJMcLaws 4 года назад +230

    Don't change anything on how you are doing this. Awesome quality content

  • @nirmalmattmusic3993
    @nirmalmattmusic3993 3 года назад +23

    In a nut shell js is intuitive and crazy at the same time.

  • @mel-182
    @mel-182 4 года назад +9

    its nice to watch this kind of video when u're not in ur desk, resting, and just wondering about the world.

  • @Andrei-pq6qp
    @Andrei-pq6qp 2 года назад +2

    I've been writing Javascript for over 9 months so I understand most of the stuff explained in these 3 videos, yet I can not stop watching they are gold. Entertaining and now I understand things that we're blurry in my head or I did not understand at all. Your channel is a gold mine. Keep it up!

  • @Robert-qq9em
    @Robert-qq9em 4 года назад +20

    This is easily the most helpful JS video Ive seen. Many of the concepts Ive been struggling with you touched on, and none of the other JS videos Ive seen even cover JS structure like you do. Thank you for your work.

  • @manasmahanand732
    @manasmahanand732 4 года назад +645

    Please put a disclaimer that this is not a beginners course, as most beginners would be highly overwhelmed by this (pun not intended).

    • @Fireship
      @Fireship  4 года назад +111

      That's fair. This is more of a primer for concepts you should know eventually. The upcoming videos will revisit specific areas with more focus for beginners

    • @SocksWithSandals
      @SocksWithSandals 4 года назад +15

      console.log(this); // "The Javascript Survival Guide"

    • @G3Number
      @G3Number 4 года назад +3

      Fireship Thanks Thanks Thanks liked and subscribed!! Nice content! :)

    • @ArnoldsKtm
      @ArnoldsKtm 4 года назад +21

      This is pretty much beginner stuff though...

    • @aaronbell5994
      @aaronbell5994 4 года назад +17

      @@ArnoldsKtm Closures !== beginner stuff

  • @dennisstasaski7136
    @dennisstasaski7136 4 года назад +13

    I'm blown away by how high quality this channel is !

  • @d0m2288
    @d0m2288 4 года назад +3

    Awesome video. Clear, concise, and informative, from your words to what you chose to display onscreen. I've been balls deep in Ruby on Rails for the last couple of weeks, and watching this really helped getting my JS brain to wake up. I'm looking forward to checking out more of your content.

  • @gauthamnookala1776
    @gauthamnookala1776 3 года назад +1

    This has to be one of the most fun, clear, concise videos that I have ever watched. Great job!

  • @mcvgs1780
    @mcvgs1780 4 года назад

    I love the quality of these videos. It combines the humor and entertainment of media essays and commentaries and the objectivity of programming.

  • @9550raja
    @9550raja 3 года назад +1

    The best thing that had happened to me after becoming a junior js developer, is finding this channel.. I'm learning a lot from you!! Thank you!

  • @911madza
    @911madza 4 года назад +98

    The relationship between predators and prey is often described as the balance of nature.
    While we must survive from the JS and its mutations - frameworks, it must survive from WA itself..

  • @shibe89
    @shibe89 4 года назад +62

    Great and extraordinary presented knowledge in just 15 minutes. Wow! Keep going!
    Just suggestion, I noticed that you are really good at using chrome developer tools can you make a video series about that maybe at some point in future?

    • @Fireship
      @Fireship  4 года назад +27

      Great idea, that would make a good module for this course.

  • @undefinedvariable8085
    @undefinedvariable8085 2 года назад +7

    Great stuff man! Would've been great if you touched on how the behaviour of hoisting compares with the traditional var keyword and the let and const keywords, specifically with regards to the "temporal deadzone".
    As a bonus, briefly touch on how mutating objects and array key value pairs affects references to those objects in memory - this still trips me up.

  • @miggu
    @miggu 8 месяцев назад

    Your content is perfect: pace, humour , rigour , no wonder you're ranked as the best.

  • @user-nx9he6fz7g
    @user-nx9he6fz7g 4 года назад +1

    Thank you. A really comprehensive video, it filled many gaps I had. Waiting for the new ones!

  • @fonncatalina6464
    @fonncatalina6464 3 года назад

    I am new to JS and studied some fundamentals for a week ,this is a perfect revision for me! Thanks!

  • @amithbhagat
    @amithbhagat 2 года назад +2

    10:40 "Closures" and 12:40 "this".
    Very well explained 👍. Thank you 🙏.

  • @CubeAmaterasu
    @CubeAmaterasu 4 года назад +2

    Bro this is the best coding channel I learn a lot in a really entertaining way. This makes me think University is truly dead

  • @stevecarter8810
    @stevecarter8810 4 года назад

    As a long time developer who has not touched the web for 15 years this is the perfect bootstrap into JavaScript language. Thanks!

  • @cagri5886
    @cagri5886 3 месяца назад

    The explanation of the Closures and its comparison to the functions might be the best I have heard on RUclips

  • @uboat46
    @uboat46 4 года назад +3

    Dude! You really make the best videos! This is awesome !

  • @Blame2a
    @Blame2a 4 года назад +1

    Really good content. That is my only comment for the year 2019 but you really did a good job with editing and straight to the point explanation

  • @shivamjhaa
    @shivamjhaa 2 года назад

    I have been doing JS for a few years now, but this video still clears some concepts. Cool!

  • @JR-yi5wb
    @JR-yi5wb 3 года назад

    BY FAR the best code tutorial on the entirety of RUclips. lol this video deserves some kind internet award

  • @zen-ventzi-marinov
    @zen-ventzi-marinov 4 года назад +1

    Damnnn I love the sound effects, though comedic, with good mood still give you the chills!

  • @kemsekov6331
    @kemsekov6331 2 года назад

    I've had from little to none experience in js but I understood everything from this video. Now I am feel a bit more confident about js.

  • @Skellum82
    @Skellum82 Год назад

    I always watch your 100 second videos. I watch this not realizing that this was your video and once the video was over, I thought to myself I’ve never heard anyone explain anything as good as you do and lo and behold it was fire ship this whole time you are a God amongst men.

  • @bennet615
    @bennet615 Год назад +2

    dude I vowed never to buy a course but guess i gotta buy yours , your teaching just hits !!!!

  • @DuyenPhanLan
    @DuyenPhanLan 2 года назад

    Thanks for a great video! I’ve learning JS for almost a month and I am trying to wrap my head around it when it comes to applying it to real world projects

  • @48maliks
    @48maliks 10 месяцев назад

    So glad I found this channel. Your videos are Gold mate!

  • @gregfletcher2360
    @gregfletcher2360 4 года назад +6

    Fantastic video! Also that "A Few Good Men" reference was perfect 👌

    • @Fireship
      @Fireship  4 года назад +2

      Thanks! That was a last minute addition

  • @BlameItOnJoe
    @BlameItOnJoe 4 года назад

    I'm an amateur coder and I've taken several courses, read several Medium articles, etc. but I had never seen a memorable and easy to understand explanation on var vs let/const till now. 👏👏👏 I just repeated to myself "var is bad; let is good; const is even better"

  • @nehemiahalvarado1209
    @nehemiahalvarado1209 4 года назад

    Very interesting, currently taking a web tech course and this helps further my understanding of Javascript. Thank you for the great work!

  • @indiansoftwareengineer4899
    @indiansoftwareengineer4899 3 года назад

    Ending is awesome....
    loved your channel.

  • @ludo3941
    @ludo3941 2 года назад +9

    I usually watch everything in at least 2x speed (more often than not around 2.5x). Today I had to watch this video in 0.75x the speed and keep going back and rewatching parts lol. The variables and functions parts were too many new and complex stuff for me (even with all the similarities to Python and C#, which are languages I have studied and used before). Amazing!
    Quite fun and different way to explain things, thank you!

  • @jameslemayian7610
    @jameslemayian7610 4 года назад

    Pure awesomeness! I like the coherence! Keep it up! You got a new follower. I can't wait for the next.

  • @mwinetimothy3020
    @mwinetimothy3020 5 месяцев назад

    You just make the learning so interesting. Thanks for the videos

  • @VarunVerma
    @VarunVerma 4 года назад +16

    The perfect video for a JS interview. Nice stuff.

    • @SandeepKumar-cx7cz
      @SandeepKumar-cx7cz 3 года назад +1

      Hi do you work in js
      Please share your CV, if you don't mind
      work42sandeep@gmail.com

  • @stickguy9109
    @stickguy9109 2 года назад +1

    The times when I used JavaScript I mainly used Canvas API because making games is what's always got me interested.

  • @SXCRD
    @SXCRD 4 года назад

    Brilliant! Please continue with these videos. Well done.

  • @funnyanimalworld7579
    @funnyanimalworld7579 2 года назад

    Good explanation for those already into js .Making those abit harder concepts abit clearer.

  • @bennettfoley3018
    @bennettfoley3018 4 года назад

    another fantastic lecture. looking forward to the next one!

  • @benjaminjameswaller
    @benjaminjameswaller 4 года назад +1

    I'm pretty 'primitive' when it comes to this topic so either spelling works for me! Thanks Jeff! I really appreciate this beginner, back-to-basics course on JS. Love'n it mate!

  • @Prestonepope
    @Prestonepope 3 года назад

    Best JS overview I've seen. Thanks!

  • @ranjeetsinghtharu5375
    @ranjeetsinghtharu5375 2 месяца назад

    You rock Fireship!....learning curve is smooth...your videos are helful

  • @rostyslav5334
    @rostyslav5334 4 года назад +1

    Wow, that was so good, Thank You so much, mate!
    Watching THIS 3rd time.

  • @iamilyes
    @iamilyes 2 года назад +3

    Fireship and Honeypot are actual entertaining RUclips channels for developers... Massive respect for all the effort you put in the process of generating such content ❤️🚀

  • @juliohintze595
    @juliohintze595 4 года назад +110

    Your videos are awesome! Even some experienced devs can learn from them.
    Do you happen to learn something when you are making these videos or are you some kind of god that already knew all of this beforehand?

    • @Fireship
      @Fireship  4 года назад +95

      This is episode 197, I knew basically nothing when I started. Just try to push each one a little further.

    • @viniricardoferrera
      @viniricardoferrera 3 года назад +8

      Aways if a person asks if u r a God, u say so. " 'course I am. pff"
      Duuude... U r blowing it
      Lol!
      Thank you very much for such nice content.

  • @for41
    @for41 2 года назад

    " what the hell is 'this'? " Your rhetoric in this video is on point. Bravo!

  • @richardcao2670
    @richardcao2670 4 года назад

    Well done tutorial! It's super helpful and easy to understand. Thank you!!

  • @superclue
    @superclue 3 года назад

    Nice and succinct. I prefer it this way where if I miss something I just go back 10 seconds or pause.

  • @donekhan7183
    @donekhan7183 4 года назад +27

    Hey brother, I would like to thank you so much for the amazing ways you explain complex things, I hope you can come up with fast tutorial for lodash library of JavaScrip, I've just started learning machine learning with javaScript, so that library is very important to mastery its functions to use them for converting maths algorithms to javaScript codes.

    • @LukePighetti
      @LukePighetti 4 года назад +2

      I had no idea people still used lodash. What do you use it for?

    • @saurabhyadav-nu3mj
      @saurabhyadav-nu3mj 4 года назад +1

      what resources are you using to learn ML with javascript. i'm also curious about ML,but not very keen to learn python for it.

  • @usamesavas9848
    @usamesavas9848 2 года назад

    wow, how could you explain such complex stuff in such simple words. admirable

  • @orinbay7742
    @orinbay7742 2 года назад

    It's great that there are multy-hour courses on any-thiing you want. But I can't thank you enough for making this short, dence videos

  • @pashweetie
    @pashweetie 4 года назад +4

    Finally things I can use that aren't elementary! Thanks!

  • @ankitkaushikz
    @ankitkaushikz 8 месяцев назад

    You explain in 14:46 Minute video what people takes 5 to 6 hours. Big Fan Fireship. Entertainment + Knowledge. Wish This video could be 1 hour long.

  • @auntiecarol
    @auntiecarol 2 года назад

    This is gold for those who have some experience in other languages.

  • @ssbrunocode
    @ssbrunocode 2 года назад

    Thanks for the great content, specially the .call function is extremely powerfull once you understand 'this', really, thank you!

  • @karimnaufal9792
    @karimnaufal9792 3 года назад +1

    First time I understood closures 😂 Thank youuuuu 🙏🏻

  • @thejonte
    @thejonte 2 года назад +1

    Somebody: "I hate your style of teaching for free on the internet"
    Fireship: *Hearted*

  • @Atheist-Nun
    @Atheist-Nun 4 года назад

    I enjoyed this tutorial very much ... very entertaining and informative.
    Keep up the good work!

  • @MrStefanica
    @MrStefanica 3 года назад +1

    Very good job! I'd recommend this video for higher than beginner JS programers or for programers coming from other languages. 🙂

  • @hamzac.4555
    @hamzac.4555 3 года назад +1

    im gonna watch this video every morning, when you compared closure and object oriented, you won a medal, and + 1000xp

  • @michaelbarley8668
    @michaelbarley8668 4 года назад

    Wow! You are an amazing teacher, I loved this

  • @amit.deshmukh
    @amit.deshmukh 2 года назад +1

    I never imagined I will binge watch programming tutorial

  • @key_michael
    @key_michael 4 года назад +2

    You are the Web Developer Survival Channel!

  • @Mohamedhassan-if8ww
    @Mohamedhassan-if8ww 4 года назад

    Best Serie ever . i never thought that javascript was that complecated and easy at the same time

  • @singingtransformation2871
    @singingtransformation2871 Год назад

    Love your crazy funny videos!!!😍☺️⭐️😂

  • @thedevilffs
    @thedevilffs 4 года назад +6

    Thank you. I *finally* actually understand what a closure is.

  • @edieltondantas6084
    @edieltondantas6084 4 года назад

    👏thanks for the overview, quite helpful

  • @clancy-sigal
    @clancy-sigal 4 года назад

    Awesome video man! I really wish I had seen this video earlier even this is a bit challenging for beginners

  • @GPT-X938
    @GPT-X938 4 года назад

    Loving this video series!

  • @FutureJacket
    @FutureJacket 4 дня назад

    As someone with coding experience but not much in JS this was a good primer.

  • @SergioArroyoSailing
    @SergioArroyoSailing 3 года назад

    beatiful! perfect overview and funny! :)

  • @runyalen
    @runyalen 2 года назад

    Got represented witth the "SURVIVAL" part :)

  • @ahmu83
    @ahmu83 4 года назад

    I love your videos man. They are awesome 😀

  • @BonjesBongo
    @BonjesBongo 4 года назад +18

    I have no words to describe how amazing this video is.
    Thank you so much for making this art piece.

    • @Fireship
      @Fireship  4 года назад +2

      Thank you Maverick!

  • @7921kenny
    @7921kenny 2 года назад

    I appreciate the class analogy, that helped make js closures click for me 👍

  • @phokgedimaja327
    @phokgedimaja327 3 года назад

    It's good to come to the basics everynow and then. Fireship 🔥

  • @Anson_The_Pro
    @Anson_The_Pro 3 года назад

    Thank you for recommending this plugin. I imagine it would be very useful for predicting what "this" refers to

  • @rne1223
    @rne1223 4 года назад

    I love your editing man.

  • @netxyz00
    @netxyz00 4 года назад

    great explanation of closure

  • @Hades5k
    @Hades5k 4 года назад

    One can almost learn JS in less than 15 min here....!!! Great video ; )

  • @denns0r
    @denns0r 4 года назад

    wow, awesome editing, nice speaker voice and very understandable 👍 keep up the good work 😃

  • @breakoutgaffe4027
    @breakoutgaffe4027 Год назад

    This is tutorial heaven 🙌

  • @luis96xd
    @luis96xd 4 года назад

    Great video, it was well explained and so intuitive! 😄

  • @rajashekarreddy2768
    @rajashekarreddy2768 4 года назад

    one of the best js tutorial i have seen ....... thank you so much ..... love from india

    • @SandeepKumar-cx7cz
      @SandeepKumar-cx7cz 3 года назад

      Hi do you work in js
      Please share your CV, if you don't mind
      work42sandeep@gmail.com

  • @diegazo5556
    @diegazo5556 3 года назад

    top 3 best coding RUclips channels.
    suscribed and in an infinite smashing the like button loop.

  • @dsi-films1264
    @dsi-films1264 3 года назад

    dangg, you deserve more subs :oooo
    amazing tutorial

  • @ryanmckenna2047
    @ryanmckenna2047 4 года назад

    Very helpful video, thanks!

  • @vanzylv
    @vanzylv 3 года назад

    Love your videos mate

  • @ivansostarec6793
    @ivansostarec6793 3 года назад

    man I love your memes in between explanations :D

  • @goldflyknows
    @goldflyknows 3 года назад

    Never have a been more happy about the ability to play videos at 3/4 speed.