100+ JavaScript Concepts you Need to Know

Sdílet
Vložit
  • čas přidán 21. 11. 2022
  • The ultimate 10 minute JavaScript course that quickly breaks down over 100 key concepts every web developer should know. Learn the basics of JS and start building apps on the web, mobile, desktop, and more.
    #javascript #programming #code
    🚨 BLACK FRIDAY 40% Discount off PRO Memberships FOREVER
    fireship.io/pro
    🚨 Use code BLACKFIRE at checkout
    💬 Chat with Me on Discord
    / discord
    🔗 Resources
    NEW Full JavaScript Course fireship.io/courses/js
    JavaScript in 100 Seconds • JavaScript in 100 Seconds
    JavaScript Docs developer.mozilla.org/en-US/d...
    🎨 My Editor Settings
    - Atom One Dark
    - vscode-icons
    - Fira Code Font
    🔖 Topics Covered
    - JavaScript 101 Course
    - Getting Started with JavaScript
    - JavaScript basics tutorial
    - Learn JS for beginners
    - Most important JS concepts to know
    - What is JavaScript used for?
    - How do I learn JavaScript programming?
    - Prototypal Inheritance
    - Higher Order Functions
    - Closures
    - Non-blocking event loop
    - Node.js
  • Věda a technologie

Komentáře • 1,2K

  • @Fireship
    @Fireship  Před rokem +325

    The full JavaScript course is live… And use code BLACKFIRE to lock-in a 40% discount on a PRO membership forever! (expires Nov 30) fireship.io/courses/js

    • @NaveenKumar-xq6ce
      @NaveenKumar-xq6ce Před rokem +6

      Just bought your course jeff. 😀

    • @Lord_Vertice
      @Lord_Vertice Před rokem +1

      Hi, I've been wondering for a long time: how do you display return values and errors in-line while writing code? It's not listed in the description and I couldn't find any extensions that do this. Is it just edited? If not, it's a really cool feature that I'd like to use myself!

    • @watchernode6138
      @watchernode6138 Před rokem +5

      There are some additional concepts of importance
      1. Object.create() - useful to correct prototype chain in some cases - like re-instantiating a object form local storage.
      2. Closure has higher preference than Scope Chain
      3. closure - means functions keep access to the variables in Heap, in the scope function was created. closure is also there in other cases when function are created
      4. Maps - don't let you use function are values
      5. Destucturing, Spread pattern and Rest pattern
      6. fetch - then - catch - finally
      7. try catch
      8. map - filter -reduce , chaining , also find and array.forEach
      9. DOM manipulation
      10. Short circuiting && , ||
      11. ?? Nullish Coalescing operator
      12. Object.entries, Object.values, Object.keys
      13. call, apply and bind
      14. IIFE - Immediately Invoked Function Expression - still has a use case in async function call
      15. some, every, flat, flatMap
      16. BigInt
      17. Classic Constructor functions for OOP. still lot of legacy code
      18. ES6 classes being syntactic sugar till now
      19. Inheritance between ES6 classes using extents
      20. Method overriding
      21. Protected properties #property in ES6 classes
      22. super() and constructor in ES6 classes
      23. Browsers APIs, like INTL, DOM, etc
      24. Classical AJAX using XMLHTTPREQUEST , to deal with legacy code
      25. throw error, as promise only rejects in case of network failure, you need to handle other cases with throw
      26. Micro Task Queue is for async ajax, for other async Call back Queue.
      27. For Event loop, Micro Task Queue has preference over Call back Queue, and can starve Call back Queue.
      28. You can promisify Other call back functions. to overcome the call back hell
      29. Promise Combinator like, Promise.race, all, allSettled, any
      30. CommonJS modules - to deal with legacy code
      31. Modules run in strict mode. also strict mode
      32. Parcel module bundler
      33. Babel, Polyfill

    • @user-dm5qi4nb6l
      @user-dm5qi4nb6l Před rokem +1

      I expect another promo on December pls

    • @codesandtags
      @codesandtags Před rokem +1

      @@Lord_Vertice that's an extension called Quokka.js . However it has a free and pay version.

  • @QnJhbQ
    @QnJhbQ Před rokem +5307

    Thanks alot Jeff, I can now safely put Javascript on my resume.

  • @bilalsaeed232
    @bilalsaeed232 Před rokem +1731

    All 100+ Topics:
    1. Web Browser 0:43
    2. Html 0:55
    3. High Level 0:58
    4. ECMA 1:07
    5. WASM 1:11
    6. Runtime 1:16
    7. Scripting Language 1:23
    8. Browser Dev Tools 1:26
    9. Interpreted 1:34
    10. V8 Engine 1:42
    11. Just In Time Compilation 1:47
    12. Script Tag 2:00
    13. Src Attribute 2:04
    14. Console Log 2:06
    15. Let 2:17
    16. Dynamically Typed 2:25
    17. Primitive 2:30
    18. Mutable 2:06
    19. Undefined 2:41
    20. Null 2:46
    21. String 2:50
    22. Object 2:54
    23. Semicolons 3:00
    24. Const 3:13
    25. Var 3:21
    26. Lexical Environment 3:29
    27. Global Scope 3:35
    28. Function 3:50
    29. Local Scope 3:43
    30. Block Scope 3:46
    31. Hoisting 3:55
    32. Function Definition 4:00
    33. Arguments 4:06
    34. Return 4:10
    35. Function Expression 4:14
    36. Higher Order Function 4:19
    37. Closures 4:26
    38. Call Stack 4:31
    39. Heap 4:40
    40. this 4:51
    41. Window Or Global 5:02
    42. Bind 5:11
    43. Arrow Function 5:16
    44. Anonymous 5:22
    45. Passed By Value 5:30
    46. Passed By Reference 5:36
    47. Object Literal 5:46
    48. Object Constructor 5:52
    49. Property 5:56
    50. Prototype Chain 6:00
    51. Inheritance 6:11
    52. OOP 6:19
    53. Classes 6:22
    54. Constructor 6:25
    55. Get/Set 6:34
    56. Instance Method 6:39
    57. Static Method 6:42
    58. Array 6:46
    59. Set 6:53
    60. Map 6:56
    61. Garbage Collection 7:05
    62. Weakmap & Weakset 7:16
    63. Event Loop 7:26
    64. Sync 7:32
    65. Async 7:36
    66. Single Threaded 7:49
    67. SetTimeOut 7:56
    68. CallBack 8:04
    69. CallBack Hell 8:12
    70. Promise 8:18
    71. Resolve 8:24
    72. Reject 8:30
    73. Then/Catch 8:33
    74. Async 8:40
    75. Await 8:46
    76. Try/Catch 8:51
    77. ES Modules 9:00
    78. Default Import/Export 9:07
    79. Named Import/Export 9:19
    80. NPM 9:27
    81. Node Modules 9:32
    82. Package.JSON 9:36
    83. DOM 9:45
    84. Document 9:52
    85. QuerySelector 10:00
    86. CSS Selector 10:04
    87. Element 10:10
    88. QuerySelectorAll 10:16
    89. Event 10:25
    90. Imperative 10:34
    91. Declarative 10:42
    92. Components 10:48
    93. Data Binding 10:58
    94. Module Bundling 11:05
    95. Network Waterfall 11:19
    96. Dynamic Imports 11:28
    97. Node.JS 11:35
    98. Express 11:40
    99. Cross Platform 11:45
    100. TypeScript 11:54
    101. ESLint07 12:01

  • @nyashachiroro2531
    @nyashachiroro2531 Před rokem +445

    This is beautiful. If you are a beginner you can actually use this as a roadmap to learn JavaScript. You can expand on each concept that he talks about, make detailed notes, watch other videos and so on.

    • @BboyKeny
      @BboyKeny Před rokem +11

      Although maybe skip WASM and just focus on JS. Just adding since he mentioned WASM

    • @kishirisu1268
      @kishirisu1268 Před rokem

      Dont do it if you have at least 2 brain cells (x2 more than ILon Mask or Trump together).

    • @thiagoelav633
      @thiagoelav633 Před rokem +4

      i feel like i need to comeback to this video and watch it everyday

    • @Rogue_Engineering
      @Rogue_Engineering Před 6 měsíci

      exactly what im doing/did

    • @aletter1718
      @aletter1718 Před 2 měsíci +2

      Man you are on it. I learned python first, this video makes it so easy to "transfer" knowledge lol

  • @maxijonson
    @maxijonson Před rokem +777

    Let's admit it, for most of us, Jeff is probably the only person who can make us spend 12 minutes listening to concepts we've known for ages about a language we use 24/7 🙃

    • @BlueNinja007
      @BlueNinja007 Před rokem +1

      Agreed

    • @Shimeih
      @Shimeih Před 10 měsíci +40

      Or the opposite. I used to watch these before knowing a single thing about code.

    • @ShadowebEB
      @ShadowebEB Před 10 měsíci +5

      I went through everything hoping to learn something I didn't know. Unfortunately it was JS 101, what did I expect 😂

    • @freerights6695
      @freerights6695 Před 9 měsíci +8

      I watch these before learning a language so I can get a good overview of it

    • @rskat501
      @rskat501 Před 3 dny

      I don't know any of this....

  • @thistemba
    @thistemba Před rokem +551

    11:32 - This is why I watch these sorts of videos. Every once in a while there's something I didn't know about (code splitting) that I desperately need. It's not about learning, it's about exposure.

    • @CaliburPANDAs
      @CaliburPANDAs Před rokem +6

      i didn't know about dynamic imports and code splitting either. glad i watched towards the end :D

    • @subliminakeys1674
      @subliminakeys1674 Před rokem +30

      Agreed. I always listen to/watch videos about topics I already learned. There is always something you missed when learning cause it wasn't relevant enough or you didn't fully understand what it meant at the time

    • @BearVodkaAndValenki
      @BearVodkaAndValenki Před rokem

      100%

    • @legionsra
      @legionsra Před rokem +7

      Note that dynamic imports can, sometimes, mess the things up with your bundler. Not always. But it can happen due to references to files that don't exist when all is bundled

    • @habib9722
      @habib9722 Před rokem

      how experienced are you???

  • @stackercoding2054
    @stackercoding2054 Před rokem +38

    the cool thing about JS is that literally everyone can just create an html file, add a script tag and start writing some code, you just need the browser (which everybody has installed) and nothing else. This may seem like a normal thing to us but this is actually one of the main reasons why a lot of programmers started with JS, because of how easy it is to start writing code without previous configurations or installations.

    • @blixadon4022
      @blixadon4022 Před 15 dny

      This is the main reason why I'm using JS 😂

  • @r4rbit
    @r4rbit Před rokem +43

    I know you see this a lot, but I just got a job as a React developer because of your videos. Even if I still know how to do something, I come back to your channel for reassurance.
    You have no idea how your work impacts so many lives, I'll make sure I buy you a coffee once my first paycheck comes in lol thank you so much Jeff and Fireship!

  • @humanperson8418
    @humanperson8418 Před rokem +62

    This generally covers all the concepts you need to know to become competent with JavaScript. Thanks 👍.

  • @ThijmenCodes
    @ThijmenCodes Před rokem +180

    Small addition to handling errors of promises (8:51). You can chain `.catch()` after `await promise` instead of using try-catch, e.g. `const xyz = await promise.catch(error => handleError(error)).
    I frequently use this syntax when I define a variable that's based on a promise. In this way, the assignment stays in the current scope instead of a new (try-catch) block scope. This means you don't have to declare an empty (let) variable and assign the resolved value from within the try-catch scope, which is especially useful if you want the variable to be a constant.
    Additionally, in this way the error handling is always close to the async call, and when used properly it can prevent excessive nesting too (i.e. the horizontal Christmas tree).
    Great video as always, thanks!

    • @FlorianWendelborn
      @FlorianWendelborn Před rokem +11

      Instead of that, you can also use an IIFE and have the try/catch inside. That still allows you to make it const as is especially great if the logic for figuring out the variable value isn't small

    • @pscoriae6981
      @pscoriae6981 Před rokem +4

      Cool tip, thanks!

    • @ThijmenCodes
      @ThijmenCodes Před rokem +15

      ​@@FlorianWendelborn nice idea. I sometimes use an async IIFE when I want to execute async code in a synchronous context, but it has never occurred to me that it can also be used to avoid polluting the global namespace. Thanks!
      NB: for who doesn't know, the abbreviation IIFE stands for ​"Immediately Invoked Function Expression". The MDN docs have a nice article on the topic.

    • @ihorbond
      @ihorbond Před rokem +2

      Nice tip!

    • @victor5485
      @victor5485 Před rokem

      Merry Christmas!

  • @mohammedsalman8175
    @mohammedsalman8175 Před rokem +679

    All 100+ Topics:
    01. Web Browser
    02. Html
    03. High Level
    04. ECMA
    05. WASM
    06. Runtime
    07. Scripting Language
    08. Browser Dev Tools
    09. Interpreted
    10. V8 Engine
    11. Just In Time Compilation
    12. Script Tag
    13. Src Attribute
    14. Console Log
    15. Let
    16. Camel Case
    17. Primitive
    18. Mutable
    19. Undefined
    20. Null
    21. String
    22. Object
    23. Semicolons
    24. Const
    25. Var
    26. Lexical Environment
    27. Global Scope
    28. Function
    29. Local Scope
    30. Block Scope
    31. Hoisting
    32. Function Definition
    33. Arguments
    34. Return
    35. Function Expression
    36. Higher Order Function
    37. Closures
    38. Call Stack
    39. Heap
    40. this
    41. Window Or Global
    42. Bind
    43. Arrow Function
    44. Anonymous
    45. Passed By Value
    46. Passed By Reference
    47. Object Literal
    48. Object Constructor
    49. Property
    50. Prototype Chain
    51. Inheritance
    52. OOP
    53. Classes
    54. Constructor
    55. Get/Set
    56. Instance Method
    57. Static Method
    58. Array
    59. Set
    60. Map
    61. Garbage Collection
    62. Weakmap & Weakset
    63. Event Loop
    64. Sync
    65. Async
    66. Single Threaded
    67. SetTimeOut
    68. CallBack
    69. CallBack Hell
    70. Promise
    71. Resolve
    72. Reject
    73. Then/Catch
    74. Async
    75. Await
    76. Try/Catch
    77. ES Modules
    78. Default Import/Export
    79. Named Import/Export
    80. NPM
    81. Node Modules
    82. Package.JSON
    83. DOM
    84. Document
    85. QuerySelector
    86. Selector
    87. QuerySelectoral
    88. Element
    89. Event
    90. Imperative
    91. Declarative
    92. Components
    93. Data Binding
    94. Module Bundling
    95. Network Waterfall
    96. Dynamic Imports
    97. Node.JS
    98. Express
    99. Metaframework
    100. TypeScript
    101. ESLint

  • @Jwhiz24
    @Jwhiz24 Před rokem +44

    Been learning JS for about a month now with no previous dev experience. It's a good feeling to realize that I really have been learning since I understood most of the video. Now to write down the parts I didn't get and learn those too!

    • @loveoflyrics7589
      @loveoflyrics7589 Před 2 měsíci

      Can I ask how many hours you practiced a day up to this point?

    • @Jwhiz24
      @Jwhiz24 Před 2 měsíci

      @@loveoflyrics7589 2-4 hours a day. Probably took 100 hours of practice before I felt semi competent.

    • @allste626
      @allste626 Před 2 měsíci

      @@loveoflyrics7589 I just started 2.5 months ago and understood 90% of the concepts presented. I do about one to one and a half hours a day (won't lie, I miss some days too) and have to say credit goes to the course decided to try. If you want a course that's extremely well put together, concise and covers every concept in detail (and up to date), I have to recommend The Complete JavaScript Course 2024: From Zero to Expert by jonas schmedtmann on Udemy. The guy is an amazing teacher. It's the first programming language I've had experience with other than some very basic C in high school (15 years ago) and even I'm finding everything very easy to pick up. It also includes a crash course for HTML and CSS that covers everything you'll need to know to complete the course and it was also great and easy to understand. I can't sing this guys praises enough. Now, I would recommend waiting for a Udemy sale and purchasing the course when it's on sale (I think it's usually like 20 bucks on sale) or do the monthly subscription (there is a free trial iirc) to test it out but I think there is someone that also posted his videos on CZcams (not sure by who or how to find them exactly) but I would highly recommend supporting the original creator/teacher because he definitely deserves it; it's obvious how much time and care he puts into his courses.

  • @pesterenan
    @pesterenan Před rokem +92

    I'm SO HAPPY to "know" all of the 101 concepts presented in this video! I got a job in the beginning of this year, and I'm still an intern, but I'm learning each and every single day. JavaScript is so easy, hard, simple and complicated at the same time! I love-hate it! xD

    • @renzo5311
      @renzo5311 Před rokem +6

      Hey. What are some concepts you guys use a lot at your job? Im an aspiring programmer trying to land a job soon

    • @Tobsson
      @Tobsson Před rokem +9

      I got my final interview tomorrow for a new job as a junior frontend dev! Been learning JavaScript and diviated a few times to C# and Python, but finally got something going.
      I too became extremly happy to know of all the concepts, now I just need to learn them haha! And I agree; JavaScript is easy, it's just extremly complicated.

    • @julien9676
      @julien9676 Před rokem

      Been working a lot with javascript last year. U'll find jsdoc interesting if u like explicit code but can't switch to typescript. You can basically document your scripts in a docblock style to get type hinting and autocompletion 🙂

    • @samuelkibunda6960
      @samuelkibunda6960 Před rokem

      @@Tobsson How's your experience with python I'm going to be self learning it and I'm intimidated by it, my only programing expertise are Java, C, html, css, php, JavaScript, sql!

    • @altairtodescatto
      @altairtodescatto Před rokem +1

      Peste, que felicidade ver voce por aqui, meu querido kerbal e, pelo visto, programador!!

  • @potatomain1239
    @potatomain1239 Před rokem +3

    This vid is really helpful for me. I’m still learning JS and sometime i forgot some concept like lexical environment, async function and ‘this’ keyword. Thank you really!

  • @vincidepo
    @vincidepo Před rokem +3

    Love this fast funny summary/intro. Comprehensive, amusing, precise. Excellent job!

  • @codewithguillaume
    @codewithguillaume Před rokem +1

    Honestly thank you for this video because this is things I try to teach since years. I have probably made about 80% of the same plan as your video but yours is way more clearer.
    Best !

  • @atmsudawa6925
    @atmsudawa6925 Před rokem +21

    Sounds exhilarating to me, listening to something i already knew as if I never know, thank you so much you are among the best♥️

  • @Vantasner4214
    @Vantasner4214 Před rokem +3

    Started getting serious about learning js a week ago, perfect timing!

  • @cezarmocanu5043
    @cezarmocanu5043 Před rokem +45

    This is the best thing to go over before an interview😆always struggling to give a standard definition of this after using it 1000 times

  • @SamtheSWE
    @SamtheSWE Před rokem +2

    This actually helped me understand some key concepts and tools in JS without boring me to death, instant sub :)

  • @roekuu
    @roekuu Před rokem +3

    Absolutely love all your videos, love watching them even though I already know what you are talking about. I want to buy all your courses but unfortunately don't have the cash for it :( thanks for making these available on CZcams!

  • @marcusurso6866
    @marcusurso6866 Před rokem +4

    This was amazing! Such a good explanation on such a rapid pace!

  • @vectoralphaSec
    @vectoralphaSec Před rokem +240

    Would love a Python 101 or a C++ 101 also. Great content as always.

  • @koeraaaa
    @koeraaaa Před rokem +1

    3:29 29. Lexical Environment (global / local / block scope)
    4:05 Function Definition / Function Expression / Higher-Order Functions
    4:26 Closure
    5:19 Arrow Function (anonymous)
    5:30 Passed By Value / Passed By Reference
    5:45 Object Literal / Object Constructor
    6:03 Prototype Chain
    6:20 OOP - class, constructor, getter/setter, instance method / static method, array/set/map, garvage collection, weakmap
    7:27 Non-Blocking Event-Loop
    10:36 Imperative / Declarative
    11:24 Network Waterfall
    11:31 Dynamic Imports

  • @studyingasyouwere
    @studyingasyouwere Před rokem +2

    Thank you for an insightful video as always! This video could not have come at a better time for me. I have been wanting to learn JS to extend my web dev content on my channel! 🔥

  • @ferris194
    @ferris194 Před rokem +11

    I had a job interview and thanks to your Video about Angular I got the job, thank you VERY much!

  • @interstella0
    @interstella0 Před rokem +40

    The fact that most of the JS concepts are similar to other languages but the quarks of JS are addressed here is really impressive. I've been an experienced Python programmer for years but trying to learn JS has really trip me up with concept of 'this' and proto dunder. Thank you

    • @dansanger5340
      @dansanger5340 Před rokem +4

      That's what makes Javascript strange and charming.

    • @emperor8716
      @emperor8716 Před 5 měsíci

      I’m a C++ programmer who has no problems with pointers but “this” scares me

  • @franbrankovic3617
    @franbrankovic3617 Před rokem +2

    Combining it all together in a such a great way and everything... just... true masterpiece!

  • @I_IBJ
    @I_IBJ Před 6 měsíci +1

    That's insanely Amazing how he covered everything in just 12 minutes, Thanks alot Jeff!

  • @kaylee_reed
    @kaylee_reed Před rokem +68

    This was actually extremely useful. I've been coding in JS for several years now and it's great to go back and get reminded of the roots. Thank you for the video! 💖

    • @perc-ai
      @perc-ai Před rokem +2

      did you know all 101 concepts??

    • @lookupverazhou8599
      @lookupverazhou8599 Před rokem +1

      @@perc-ai Yes, with 2 years experience, but not necessarily at mastery level.

  • @misaelpereira9679
    @misaelpereira9679 Před rokem

    I'm so happy to see that have all the 101 concepts clear, this makes feel a full programmer

  • @Filaxsan
    @Filaxsan Před rokem +1

    Proud member of the Fireship PRO family 💪
    Thanks for the new course Jeff!

  • @victorlongon
    @victorlongon Před rokem +5

    For anyone starting out or that don't master the core concepts of Js I would highly recommend Kyle's I don't know js book series. You will be a complete different developer when you finish reading it.

  • @samha1513
    @samha1513 Před rokem +20

    This was ridiculously fun to watch. Bravo 🙌

  • @ahnafalnafis
    @ahnafalnafis Před rokem +1

    It's been a long time that I touched JavaScript. I forgot some of the concepts. I was looking for a crash course which can help me to cope this situation in less time and can cover all of the topics for me. It was a mess at the beginning to find such tutorials. Then suddenly, the name "Fireship" popped up in my mind and I was thinking that who else would make such tutorial other than him.
    I looked up for "JavaScript in 100 secs by Fireship". After scrolling a bit, I found this video. Now, I have learned the things that I needed.
    Thanks Jeff for making such life saving contents for us ❤️

  • @hilalbagas6823
    @hilalbagas6823 Před 11 měsíci

    thanks dude, you summarized everything I learned for 3-4 months in 12 minutes, very impressive

  • @RoboDragonJediKnight
    @RoboDragonJediKnight Před rokem +17

    Perfect timing with this video. I was just going through Eloquent Javascript by Marijin Haverbeke. Currently looking at asynchronous programming with Javascript with web apis like setTimeout(). It is quite satisfying once you have success learning concepts like binding of this in javascript.

    • @denisbogdanov620
      @denisbogdanov620 Před rokem +1

      Ayyyy fellow reader! I started the book today myself :D What a coincidence!

  • @str2254
    @str2254 Před rokem +54

    As a kotlin and python programmer this is actually very educational for learning js

    • @varkonyitibor4409
      @varkonyitibor4409 Před 9 měsíci +3

      As a C# developer it feels like a happy walk on a minefield

  • @Cohnan13
    @Cohnan13 Před 7 měsíci

    This is a really cool video! The kind of overview I needed of the language, complete and without distractions, thanks!

  • @neuroll
    @neuroll Před rokem +2

    I am speechless the promise is truly delivered as it was awaited. Well I tried to catch all of this but I think what matters the most is that at a global scope all the concepts were perfectly explained. Thank you for this mesmerizing experience it's the best video I encountered on CZcams this week. Haddag A.

  • @niavictory
    @niavictory Před rokem +22

    This is so cool! I started learning JavaScript early this year and I always feel like I barely know anything about it. But there were maybe 5 concepts I didn't know so I guess I'm doing well.

  • @mikeandrewfernandez9797
    @mikeandrewfernandez9797 Před rokem +14

    Thanks bro, you make JS sound more creepier more than ever

  • @webdevcoursestv
    @webdevcoursestv Před rokem +2

    Honestly this is an incredible video cheat sheet. He snuck in more than a hundred here like a boss. This might be the best researched and verified channel in coding.
    Fireship is just like that

  • @cineverseproductions
    @cineverseproductions Před rokem +3

    Your editing skills along with your Programming skills are top-notch. 👍

  • @eboatwright_
    @eboatwright_ Před rokem +90

    "JS. It's a wonderful programming language to learn for beginners. It's also a horrible programming language to learn for beginners."
    I 100% AGREE

    • @DonatoBencosme
      @DonatoBencosme Před rokem +2

      I would start with languages like Java or C# to really understand OOP and then move to Js and learn it without classes syntax to know about prototype and what is actually happening in the background. And then I would move to the enjoyable live of ES5+

    • @eboatwright_
      @eboatwright_ Před rokem +1

      @@DonatoBencosme That's definitely a way to learn!

    • @ziadidabde3662
      @ziadidabde3662 Před rokem +1

      ​​@@DonatoBencosme
      The two languages ​​have nothing to do with each other, you will only waste your time
      Determine the goal of learning the language

    • @DonatoBencosme
      @DonatoBencosme Před rokem

      @@ziadidabde3662 I don't think that learning about oop first would be a waste of time and I don't mean mastering java or c#.

    • @worthsalive
      @worthsalive Před rokem +1

      Honestly, as a beginner I hated Javascript but then I realized that to thrive as a fullstack web developer, I have no choice rather than make Javascript my best friend. Now I and JS have become 5 and 6

  • @shannen0992
    @shannen0992 Před rokem +2

    What a master class in 12 minutes. Amazing Job, no words, hats off 🎉

  • @mohammedfahad4049
    @mohammedfahad4049 Před rokem

    Excellent video! Really putting everything together for me. Thank you!

  • @mohcinefallahi3270
    @mohcinefallahi3270 Před 2 měsíci +8

    When you ask a senior js dev how his day is going:

  • @mostm8589
    @mostm8589 Před rokem +16

    Another banger of a video, Fireship. Great concept and superb execution.
    Just a small correction at 1:06
    """Its standard implementation is called Ecmascript"""
    Ecmascript is not the implementation, its the standard itself. It's just a (huge) document written in legal-ish english that says how should people make compilers\interpreters\virtual machines
    untimes\Engines for Javascript. "Implementation" is usually the word we use to call the program(s) that we use to run any language, so an implementations of Javascript would be the actual V8 Engine in chromium or NodeJS or any other VM that can run JS, but ES is just a set of rules governing how to make implementations for JS, not an actual implementation.

  • @klicksm7169
    @klicksm7169 Před 4 měsíci

    That amazing tutorial. This is exactly what i was looking for, fast, to the point not looking at a viewer as a kid learning for the first time.

  • @HappyLightning-ku7nh
    @HappyLightning-ku7nh Před 6 měsíci

    This video made me understand so much about javascript, it has gotten rid of bunch of doubts I had, subscribing rn.

  • @verified_tinker1818
    @verified_tinker1818 Před rokem +5

    Speaking of ESLint-I'd love a quick video about formatters and linters in JS and their configuration.

  • @deniswastaken
    @deniswastaken Před rokem +18

    Can you create the same thing for C or maybe C++ ?

  • @aidynis724
    @aidynis724 Před rokem

    I have been looking for this video for so long, here you explain things that people are learning months!!

  • @muhammadabbasbangash4095

    javascript beginner to intermediate to advanced in literally 12 minutes! hats off! 🙌

  • @vayunsownsymphonies8906
    @vayunsownsymphonies8906 Před rokem +9

    best coding channel on CZcams.

  •  Před rokem +6

    Note that at 7:18, there is an error in the code, since WeakMaps can't have primitive values as keys. Garbage collection of the keys only makes sense for pass-by-reference stuff (objects), so passing a primitive was made illegal 🚨

    • @theshermantanker7043
      @theshermantanker7043 Před rokem

      JavaScript doesn't have primitives, implementation wise it's actually an object that contains your actual value in a buffer (very much like PyObject from the cpython virtual machine), so depending on which VM you're running your js on this will more than likely be accepted as valid code

    • @Yutaro-Yoshii
      @Yutaro-Yoshii Před rokem

      ​@@theshermantanker7043 MDN says it's illegal too using the word "primitive". "Keys of WeakMaps are of the type Object only. Primitive data types as keys are not allowed (e.g. a Symbol can't be a WeakMap key)". I don't think the definition of the word "primitive" here refers to how it's implemented under the hood, but how the values appear to behave. Even if values are represented as objects, if it is immutable it behaves as if it's a primitive.
      As a side note, nodejs thinks it's illegal too
      > const a = new WeakMap();
      > a.set("a",1);
      Uncaught TypeError: Invalid value used as weak map key
      at WeakMap.set ()

  • @ztipsamme
    @ztipsamme Před rokem

    Thank you! This was the perfect video to refresh my memory before I'm starting my internship this semester.

  • @scootergirl3662
    @scootergirl3662 Před rokem

    This explains a lot of stuff that other resources don’t bother with - I finally feel like I understand js
    …as much as one can understand js

  • @aidulcandra879
    @aidulcandra879 Před 4 měsíci +3

    "Hi mom" is the new "Hello World"

  • @Ilovecarrot
    @Ilovecarrot Před rokem +3

    27 seconds ago. Anyways, these are quality videos. Keep going. And keep up the blame on every languages.

    • @DamnBoii123
      @DamnBoii123 Před rokem +1

      @dont_read_my_profile_picture ok.

  • @arwahsapi
    @arwahsapi Před rokem

    Thanks Jeff! You are the king of summarizing things!

  • @aletter1718
    @aletter1718 Před 2 měsíci

    You are the man. I am coming from a strong python focus and this is such a great way to quickly familirize the differences and get to slamming on the thinkpad till things happen. Great and fast video.

  • @samiikay6290
    @samiikay6290 Před 6 měsíci +4

    ''wtfIsThis" : 100% me When trying to learn 'this'

    • @icantseethis
      @icantseethis Před 3 měsíci

      bro Imma make a language called Javascraps where this is renamed to that except for arrow functions

  • @Fuzzycap
    @Fuzzycap Před rokem +5

    Last time I was this early youtube had a different icon!!!

  • @kaustavroy6542
    @kaustavroy6542 Před 11 měsíci

    It was smooth vid for quick revisions of the core concepts. Thansk jeff

  • @friendly4466
    @friendly4466 Před rokem

    This is acrually helpful when preparing an interview, thank you very much

  • @MadcuzBad_911
    @MadcuzBad_911 Před 23 dny +3

    God, please help me with this journey 😃

  • @ConanDuke
    @ConanDuke Před rokem +519

    I hate my life.

  • @ZhekaChupr
    @ZhekaChupr Před rokem +1

    Nice video that allows to refresh our JS knowledge!

  • @softwaretestinglearninghub

    Great video! Have learned JavaScript but use only java at work. Good refreshment!

  • @45g4rerf45f45
    @45g4rerf45f45 Před rokem +5

    Don't use var, forget it exists.

    • @ryzelincurve8295
      @ryzelincurve8295 Před 11 dny

      im late but why ? i im a begginer i study web dev

    • @45g4rerf45f45
      @45g4rerf45f45 Před 11 dny

      @@ryzelincurve8295 Because of hoisting, it makes code harder to understand. Just use "const" or "let".

    • @--bountyhunter--
      @--bountyhunter-- Před 6 dny

      ​@@ryzelincurve8295it is wild. u can search it up, why var is bad in js or something. it shouldn't be hard to find

  • @universecode1101
    @universecode1101 Před rokem +32

    JAVASCRIPT is the BEST and the worst programming language. I'M A REACT DEV 😜✅

    • @umertaiyab5500
      @umertaiyab5500 Před rokem +1

      math: finally a worthy opponent our battle will be legendary.

    • @SkyyySi
      @SkyyySi Před rokem +1

      For some reason, this comment looks like a bot to me lol

    • @hanielElenrion
      @hanielElenrion Před rokem +2

      Very sorry to hear that. Hope you will be okay.
      1 👍 = 1 prayer.

    • @u4yk
      @u4yk Před rokem

      I used to be a React dev, but then I found Vue. I hope you enjoy having to debounce all your hooks.

    • @AlesaGillespie
      @AlesaGillespie Před rokem +1

      re-re-re-re-re-re-re useEffect re-re-re-re-render.

  • @jeffrbake
    @jeffrbake Před rokem +1

    Your intro was both hilarious and accurate haha!

  • @jgrote
    @jgrote Před rokem

    I started directly with TypeScript, and this really, *really* helped me to understand how the sausage is made. Thanks.

  • @gin9990
    @gin9990 Před rokem +8

    Despite the economic downturn, I'm so happy😊. I have been earning $ 60,200 returns from my $7,000 investment every 13days•❤️

    • @timanthony1814
      @timanthony1814 Před rokem

      Don't sleep on it...this is a time to invest I recently just bought another property valued at over $15m. I wish knew the right investment firm to invest with earlier, better late than never thought.

    • @kathleen9960
      @kathleen9960 Před rokem

      I started with just 4,000 dollars now earning upto 17,000 dollars WEEKLY

    • @gabbtaylor8942
      @gabbtaylor8942 Před rokem

      I think I'm blessed because if not I wouldn't have met someone who is as spectacular as expert Smith I think he's is the best broker I ever seen

    • @whitewalkers7106
      @whitewalkers7106 Před rokem

      Please how do I contact him, my income stream is in a mess......please🥺

    • @gabbtaylor8942
      @gabbtaylor8942 Před rokem

      *He's availability is sure on Tele gram user name👇*

  • @charlesbcraig
    @charlesbcraig Před rokem +1

    The time put in and quality of these videos is incredible!

  • @superdoodjj
    @superdoodjj Před rokem

    Awesome video! I'd love to see more videos like this one. Maybe Python next?

  • @carafachera4781
    @carafachera4781 Před 11 měsíci +1

    This video resumes a year of javascript learning. Good job 👍

  • @SoulAndDust
    @SoulAndDust Před rokem

    Thanks a lot dear, before this video i was banging my head on the table, to actually understand those quirky details of JavaScript as i came from a Java background which is rather intuitive and compliant with standard OOP concepts and UML diagrams.

  • @EugeneDonovan-c9n
    @EugeneDonovan-c9n Před 7 dny

    Never knew of the replace method. Thanks!

  • @pagarevijayy
    @pagarevijayy Před rokem +2

    probably the best revision material

  • @nirmalhasposted
    @nirmalhasposted Před 7 měsíci

    Super fast...
    Crystal clear..
    Chrisp..
    Amazing video ever
    Thank you Author ❤

  • @jimmyrecard396
    @jimmyrecard396 Před rokem

    it's great that you noted on classes being syntax sugar for prototype inheritance, but it would be also good if you note that `async` is also eventually a syntax sugar for promises

  • @Jonathan-rm6kt
    @Jonathan-rm6kt Před rokem

    I’m finally getting around to learning js (coming from data analysis), WOW I wished this was the first video I watched. Great job

  • @federico.r.figueredo
    @federico.r.figueredo Před rokem

    Thanks a lot Jeff! The JS content of this channel is amazing.

  • @CarlosBallena
    @CarlosBallena Před rokem

    daaamn... so much content packed in so little time... thank you, sir!

  • @vaisakhkm783
    @vaisakhkm783 Před rokem

    He reads our mind, one of my friends asked me how to learn js, i was opened youtube to sent him a fcc tut, in front me this came as uploaded 5 min ago :)

  • @curiosdevcookie
    @curiosdevcookie Před rokem

    I‘m falling in love with JavaScript all over again, thank you! ❤😮

  • @maugrins
    @maugrins Před 7 měsíci

    im halfway through Meta's Front end dev courses and you help me more in one video. THANK YOU!

  • @SP4CEBAR
    @SP4CEBAR Před rokem

    the video I needed, Thank you so much!

  • @rodgenoalbury2557
    @rodgenoalbury2557 Před rokem

    Thank you so much! Your teachings are TOP NOTCH💯🥇

  • @tsepomkwebu5577
    @tsepomkwebu5577 Před rokem

    Thanks for the little treat at the end of video.😁

  • @amoh96
    @amoh96 Před rokem +1

    Thanks alot we need more videos like this

  • @AbdouAbdou-ff2mo
    @AbdouAbdou-ff2mo Před rokem

    Dam man you are so dam special with your extraordinory videos ! this was like a quick effective revision of JS in just 13 minutes ! we will need more of those videos mine ! Just keep it UP !!!

  • @0xzi
    @0xzi Před rokem +1

    Been learning JS for most of this year and still managed to learn something from this!
    also, it appears the video on your JS course on your site only has audio in the left ear

  • @techiebrat9498
    @techiebrat9498 Před rokem

    fast , Crisp, clear , concise what not...just Awsome.
    want this type of video on java, AWS ........😁

  • @valerie8031
    @valerie8031 Před rokem

    I can't even describe how well this is summarized

  • @a5tr00
    @a5tr00 Před rokem +1

    As always awesome and concise quality content! Thanks!
    p.s. it’s Brendan Eich :)

  • @SK-vg3mw
    @SK-vg3mw Před rokem

    Thank you, your channel is a goldmine for beginners!