Learn JavaScript With This ONE Project!

Поділитися
Вставка
  • Опубліковано 8 чер 2024
  • Today, you are going to be learning JavaScript by completing a project with me. I will explain all of the syntax, what it does and how it works. I will be also explaining to you how to structure your code, bests practices and lots of useful tips that you wouldn't get in beginner tutorials.
    💻 Thanks to Linode for sponsoring this video! Get a $100 60-day credit when you sign up with a new account from: linode.com/techwithtim
    💻 Download Node JS: nodejs.org/en/download/
    💻 Code Download: github.com/techwithtim/JavaSc...
    💻 Master Blockchain and Web 3.0 development today by using BlockchainExpert: algoexpert.io/blockchain - use code "tim" for a discount!
    💻 ProgrammingExpert is the best platform to learn how to code and become a software engineer as fast as possible! programmingexpert.io/tim - use code "tim" for a discount!
    ⭐️ Timestamps ⭐️
    00:00:00 | Video Overview
    00:03:06 | Project Overview
    00:05:12 | Project Setup
    00:06:54 | Building The Project
    01:09:40 | Outro
    ◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
    👕 Merchandise: teespring.com/stores/tech-wit...
    📸 Instagram: / tech_with_tim
    📱 Twitter: / techwithtimm
    ⭐ Discord: / discord
    📝 LinkedIn: / tim-ruscica-82631b179
    🌎 Website: techwithtim.net
    📂 GitHub: github.com/techwithtim
    🔊 Podcast: anchor.fm/tech-with-tim
    🎬 My UA-cam Gear: www.techwithtim.net/gear/
    💵 One-Time Donations: www.paypal.com/donate?hosted_...
    💰 Patreon: / techwithtim
    ◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
    ⭐️ Tags ⭐️
    - techwithtim
    - javascript tutorial
    - coding
    ⭐️ Hashtags ⭐️
    #techwithtim #javascript #project

КОМЕНТАРІ • 424

  • @user-ct9ku8iv9u
    @user-ct9ku8iv9u Рік тому +130

    Tim - I am very impressed by your teaching technique. As a 58 year old database programmer, I learned a lot about JavaScript from your 16-part tutorial and this video really cemented the concepts you covered earlier. You have a bright future ahead of you! Keep plugging along.

  • @mostlyrob3469
    @mostlyrob3469 Рік тому +284

    ive been developing with javascript with more than 10 years of experience, yet I still enjoy these beginner tutorials and still learn alot.

  • @beastmoderilla4428
    @beastmoderilla4428 Рік тому +77

    This was amazing! the perfect project i was looking for to understand JS. This was very well done Tim. Looking forward for more!

    • @TechWithTim
      @TechWithTim  Рік тому +7

      Awesome, thank you!

    • @ihatethewind
      @ihatethewind Рік тому +1

      JavaScript functions are hoisted aren’t they? I call functions all the time before I define them.

    • @MarshallSC1
      @MarshallSC1 8 місяців тому +1

      @@ihatethewind Only if they are declared the old way with "function" keyword. If they are declared with the new ES6 way, the "arrow" => functions, they are not.
      Arrow functions are not getting hoisted.

  • @mericcintosun
    @mericcintosun 7 місяців тому +20

    I am a new JavaScript language learner and seeing a "real project" taught me a lot, even though it was challenging for me. Thanks to this video, I realized that I need to work harder. Thanks a lot for this great value!

  • @fumano2679
    @fumano2679 Рік тому +17

    i love seeing your development not only in writing clean code but also improving in structuring your projects. lovin it keep it up nice video

  • @aaronamoso
    @aaronamoso 3 місяці тому +5

    first 15 minutes and its validating how much I actually know how to code. so much new info too! thank you very much!

  • @nahumabinet7337
    @nahumabinet7337 10 місяців тому +8

    Tim, You're so fascinating teacher, and I love all your videos because they teach me a lot. You made me remember many things I have forgotten and that's insane, I mean, you made me see that, although have worked as a software engineer for many years, I still have many things to learn, and that made me ecstatic a little bit. So I would love to thank you for this exciting video. learning will never stop!😉😉😉

  • @TheCodeJourney_
    @TheCodeJourney_ Рік тому +6

    Great video. it was tough to understand some concepts at first while following along. At the end it was all wrapped up and made sense! It was a great insight into your thought process and how you break everything into components.

  • @chipngo9758
    @chipngo9758 Рік тому +11

    Awesome stuff man. Really appreciate what you did. I like the delivery and entire explanation of what goes after what, which is truly important to understand if you taking it first time. Hope there was an html integration with it as well. But overall it looks fine. Thank you.

  • @DETECTIVESPACEMAN09
    @DETECTIVESPACEMAN09 9 місяців тому +22

    you're a hell of an instructor Tim, I really appreciate your ability to break down the concepts clearly.

    • @user-qv7ru4if3u
      @user-qv7ru4if3u 8 місяців тому +1

      From the first few words I though you were giving a bad review

  • @edeniyanda
    @edeniyanda Рік тому +24

    You're right on time, Tim. I just wanna start learning JS
    Thanks for this video

  • @groovydev
    @groovydev Місяць тому

    Thank you so much for this tutorial! i found it really helpful as a viewer to watch your thought process live. i think learning to break down projects and think like a programmer can be one of the biggest challenges and your video helps solve that!

  • @kevinvikan8115
    @kevinvikan8115 Рік тому +100

    Great video, learning by practicing is so much better. Even if all you do is copying a few lines of code that you see in each lesson. Much more effective than just taking notes.
    I know this because I tried everything and the only way I could learn (and retain what I learned) was when I started doing that.
    Once a friend suggested me a few books with interactive content, that made me practice what I learned at each chapter.
    Edit: For those asking about the books I mentioned, these are the best ones:
    "Javascript In Less than 50 Pages"
    "Head First Javascript Programming"
    If you are into learning Python, "Smarter Way to Learn Python".

    • @myke6972
      @myke6972 11 місяців тому

      is it normal that you get stuck sometime and look at some code for reference?

    • @not-alot-of-options
      @not-alot-of-options 11 місяців тому +1

      @@myke6972 I'm just a hobby coder, but from what I've read from people that do it professionally the answer is yes. They lookup in docs and posts on places like stack exchange all the time. No need to re-invent the wheel when working.

    • @Sahil-ev5pm
      @Sahil-ev5pm 10 місяців тому

      @@not-alot-of-options Hey buddy can u explain why tim didn;t get error even though he re declared blocked variable const numberoflines

    • @MegaBagman
      @MegaBagman 8 місяців тому

      Bot account commenting on videos like this to promote those books

    • @EVO-NO
      @EVO-NO 5 місяців тому

      Hi, are you referring to the numberoflines = getnumberoflines()? ​@@Sahil-ev5pm

  • @Rahim-444
    @Rahim-444 Рік тому +35

    i just finished the project,it was helpful, i did many things my own way I find that the best way to learn, sometimes I see that your solution is better than mine so I change it sometimes I find that mine is better or easier to understand so I keep it, again this was very helpful I always like this project series keep them coming!

  • @jairus04
    @jairus04 11 місяців тому +3

    I've started learning javascript this week and saw your video while taking a break and it's inspiring and very motivating. I hope i can write a code as clean as yours someday 😁 I'm going to rewatch it again once i learned all the basics of javascript and learn more from this project 😊😊

  • @punksterbass
    @punksterbass 5 місяців тому +3

    thank you Tim, this was my first introduction to Javascript (coming from a Python background) and it was immensely helpful

  • @UltimateCelebs
    @UltimateCelebs 9 місяців тому +2

    This is such an interesting video and it helped me understand more concepts I used to struggle with, thank you Tim! 😁

  • @Zshafique1
    @Zshafique1 6 місяців тому +2

    Hi Tim
    I have just finished this project in one go without stuck anywhere. You explained quite well.
    Thank you for this project. I am going to use this on my portfolio.

  • @infinitydeveloper1552
    @infinitydeveloper1552 9 місяців тому +2

    This is a amazing video to get started with javascript. And I can relate you totally for python syntax as I am also working with python (I have learned that from your videos). Good job, please adding these kind of content. Thanks

  • @sureshbhatt363
    @sureshbhatt363 10 місяців тому +1

    Indeed a great tutorial. You explained things throughout the way - such lectures are very hard to find here on UA-cam.

  • @travisheldreth5021
    @travisheldreth5021 5 місяців тому

    I agree. You are a very good instructor. Thank you. I couldn't get prompt sync to work for me. I switched to readline and that is working so far.

  • @nyanpantsu9027
    @nyanpantsu9027 Рік тому +2

    thank you for doing this course, i'm a beginner of javascript and this is very helpful for me !

  • @itsnobledean9450
    @itsnobledean9450 8 місяців тому +2

    I completed this video 4 whole weeks ago! Wow! I just came back today to rebuild it, with functional programming concepts, and man, I know my life has revolved around JavaScript for the last 4 weeks, but coming back to videos like these have really helped me understand how to properly use conditionals, and most of all, how to organize my builds with a functional programming mind frame. I separate the date from the functions, and I use map and join for the reels. I broke it up into a bunch of smaller functions with specific tasks.

  • @xen0076
    @xen0076 Рік тому

    OMG you are the most enjoyable and amazing tutor there is, what a fantastic way of teaching, teaching from what return does to making a whole project. You are the best on the whole youtube

  • @user-rg7ec9cn7d
    @user-rg7ec9cn7d 2 місяці тому

    I have learned so much from you. You do such a great job!! Thank You!!

  • @RamonHernandez-rl8gi
    @RamonHernandez-rl8gi Рік тому +1

    I have really enjoyed your content and learned a lot. If you have the time, I would love to see something more advanced in JS. Anyways, great job, as always. Keep it up!

  • @nathantekeste8026
    @nathantekeste8026 9 місяців тому +1

    what an amazing video, it shows us how u think how u structure you code and everything.
    Really perfect to learn javascript.

  • @yashhhh740
    @yashhhh740 11 місяців тому +5

    As a 88 year old programmar, your videos helped me alot to ace Javascript

    • @harryhome86
      @harryhome86 2 місяці тому

      As a 99 old grandpa… I forgot what I was going to say

  • @goddeyjunior5940
    @goddeyjunior5940 2 дні тому

    Tim thanks for this wonderful video. I learnt so much

  • @sachinkumarbadiger3541
    @sachinkumarbadiger3541 Рік тому +1

    Have always enjoyed to learn from people. Wow! You are a sniper who is 100/100 shoot to kill the concept (compliment) with a head-shot in microns (precise and concise! Super, can't appreciate enough).. Glad I am here and watching.. I am a civil engineer lately joining the party, have been exploring to find content like this. This is one of the bests. Thank you so much, you consider sharing your knowledge.. SUPER!

  • @Konspiracie
    @Konspiracie 10 місяців тому +1

    I'm only 10 minutes in, but this is probably the best execution of this tutorial style I've ever seen.

  • @AutMouseLabs
    @AutMouseLabs Рік тому +4

    I didn't know you could use node to get a regular terminal response to js like python in a regular terminal. This is very useful! Thanks.

  • @Harry_Pcs
    @Harry_Pcs 3 місяці тому +1

    perfect video I was looking for. youre amazing at teaching

  • @JohnSmith-zl8rz
    @JohnSmith-zl8rz Рік тому +7

    This tutorial is way better than others that just teach theory

  • @MidoBroski
    @MidoBroski Рік тому +32

    Thanks Tim I've been waiting for you to upload a walkthrough project in JavaScript!
    Would it be possible to upload a video containing simple to more difficult projects purely in JS, similar to what you've done with python? I've yet to find someone who's able to articulate and teach the way you do!

  • @AmanPandey-bd1sj
    @AmanPandey-bd1sj Рік тому

    Thanks for such a great tutorial I think the way you teach is much more better understanding than others. Please make such tutorials for us😊❤

  • @hymydairy
    @hymydairy 3 місяці тому +1

    Happily to find you. It means a lot for me. Also thank you for your understandable accent.

  • @JEffinger
    @JEffinger Рік тому +121

    Thanks for putting the disclaimer at the front.

  • @boyacosweep
    @boyacosweep Рік тому +5

    I really liked this. Would love to see more. Consider having a simple visual done on PPT or an image editor for when you are trying to explain what the code is doing.

    • @RoxusRemo
      @RoxusRemo Рік тому

      Yep this is what would 100% imrpove this further for people who are visual learners. I had to draw it out myself in paint to get how the for loops were working haha.

  • @MolamikeDevs
    @MolamikeDevs 5 місяців тому

    Really love this video as a beginner I you have me how to use function inside a function. Thank you man🤝

  • @MathemadicaPrinkipia
    @MathemadicaPrinkipia 5 місяців тому +8

    Thanks Tim. I just finished all my HTML, CSS now Javascript and so far I've done 2 projects, it helps a lot to see how I can actually put my knowledge to good use rather than just mindlessly learn the language. I've been struggling to find this kind of videos. so thanks again for sharing hope to see more from you.

    • @sanausman2931
      @sanausman2931 3 місяці тому

      How you start it.. i am trying but i cannot. Can you give me some tips. So i will follow

    • @tonyt_mp4744
      @tonyt_mp4744 3 місяці тому

      I had to chatgpt where to start. Im adding event listeners and other elements to dynamically work with the slots. Going to make my own icons too.@@sanausman2931

  • @raghul-k
    @raghul-k Рік тому

    Great Job!. Looking forward on upcoming project building videos.

  • @OneworldKW
    @OneworldKW Рік тому

    Just what I needed! Thanks

  • @ryuu5109
    @ryuu5109 4 місяці тому

    This is so freaking cool, Thank you so much sir! you light up my motivation to still keep grinding and learning throughout this tutorial i really enjoyed cloning this game that you build, i felt so much good and wanted to learn more

  • @adventurewarriors9691
    @adventurewarriors9691 Рік тому

    I love this video, hope you upload more videos javascript projects, thank you

  • @user-el9yf8zl2j
    @user-el9yf8zl2j Рік тому

    I really enjoyed completing this project, it gave me a good understanding of using Javascript. Thanks!

  • @Salah-YT
    @Salah-YT Рік тому +6

    bro, I'm so happy u doing Javascript u can see at this moment I write this comment only in 17 hours u got 10k views this means people more love JS so please do more projects and challenges on JS so thank u bro ill follow up until the end 🙂

  • @jish194
    @jish194 Місяць тому

    Thank you for sharing this Tim dude.

  • @jenex5608
    @jenex5608 Рік тому +2

    Tim is a man now who remembers when he was in high school.
    Back then i was at the end of middle school. Now I'm in 3rd year of college

  • @ivaldirbatalha5436
    @ivaldirbatalha5436 Рік тому +9

    Great project Tim!
    I will take advantage of this to sharp my javascript skills.
    Little tip here, you forgot to increment the balance after the user won some prize playing.

  • @nickoalbes6546
    @nickoalbes6546 8 місяців тому

    Thanks for this, I really want to learn JavaScript and this indeed helped.

  • @maryanlsiben6244
    @maryanlsiben6244 4 місяці тому

    thank you Tim , this was a great project ,I am learning JS with you

  • @Frost6792
    @Frost6792 Рік тому

    This was awesome! Learned a lot!

  • @mohbcn
    @mohbcn 11 місяців тому

    I admire the way you explain thank you a lot hope to see you in Barcelona

  • @dominikbogdanski9244
    @dominikbogdanski9244 Рік тому +2

    Great video!
    Also, when asking for amount of lines to bet on we can do this:
    const lines = prompt("Enter amount of lines to bet on (1-" + ROWS + "): ");
    so it changes as we change number of rows in our slot machine

  • @soccerstarszollo5422
    @soccerstarszollo5422 11 місяців тому

    Love watching your vids.
    I like that you you make small typos, syntax errors, math errors and correct as you go along. This is how coding is in real life, it's not perfect and we do make those little errors at times, for me anyway 🙂

  • @d_o_o_m_g_u_y
    @d_o_o_m_g_u_y Рік тому

    Read my mind Tim,needed this.

  • @thatguyty96
    @thatguyty96 8 місяців тому

    Why are the best youtube teachers named Tim? You and Tim Corey holding it down. Thanks for the video.

  • @namangokhru3715
    @namangokhru3715 8 місяців тому +1

    what a thought process 😎, lot to learn from you.

  • @moeharuke4662
    @moeharuke4662 10 місяців тому

    i'm learning a bit of javascript as an entry level begginer, this video is funa dn good to watch, only had some little problem with the nested arrays and for of loops, hoping that later on I can learn more.
    thank you this video was great

  • @Fraidon90
    @Fraidon90 11 місяців тому

    This
    JavaScript is a perfect course. Thanks

  • @charles-sambo
    @charles-sambo 10 місяців тому

    Man this just cemented my javascript learning... pushed me up a some notches. :)

  • @vicentesoto1628
    @vicentesoto1628 Місяць тому

    This is such pythonic way of writing JS, love it bro XD

  • @64imma
    @64imma Рік тому +2

    Thanks for the video. It helped me review some of the core concepts of Javascript and even learned a couple new things. I think I'm gonna try creating my own version of this in python and see where it goes from there

  • @jordanwyltk4569
    @jordanwyltk4569 6 місяців тому

    Thank you! You explain things, not JUST do them!!!😁 One of the biggest issues I have had with trying to program for years is how to visualize the way the looping structure works.

  • @tonytodd7011
    @tonytodd7011 7 місяців тому

    What a great teach! Thank you TWT!

  • @envitab
    @envitab Рік тому +2

    Great content! Thanks for sharing Tim!

  • @mirjalol_shamsiddinov
    @mirjalol_shamsiddinov Рік тому +1

    hi bro how u doin, i loved the project, the way u explain is so good. Thank God there is someon who understands The beginners.

  • @bone_breakerdudu
    @bone_breakerdudu Рік тому

    Good start for beginners!

  • @tanishrajan4526
    @tanishrajan4526 9 днів тому

    great work sir, thanks a lot

  • @onurislak
    @onurislak Рік тому

    very creative solution. I want like this projects more.

  • @TrashCoder1
    @TrashCoder1 10 місяців тому

    I watched this 4 months ago, and I had no idea what this man was saying but now I find myself auto-completing his explanations lol.. I think I have made some progress.

  • @jortega618
    @jortega618 7 місяців тому

    thank you very much, you are a great instructor.

  • @abdulkadiraminu262
    @abdulkadiraminu262 Рік тому +6

    For those who get an error saying that the module is missing even though it's there, try uninstalling node js then installing the current version instead of the lts. I got the error during the prompt sync section and this worked for me. Simply redownload the installer for the lts version then run it to uninstall it

  • @moebidaz
    @moebidaz Рік тому +20

    This project was truly helpful! I just have a small suggestion regarding the code at 19:16. Instead of using (.numberOfLines > 3), it would be better to use (.numberOfLines > ROWS). Just to ensures that the code remains intact even when we alter the value of ROWS.

    • @Sahil-ev5pm
      @Sahil-ev5pm 10 місяців тому

      Hey buddy can u explain why tim didn;t get error even though he re declared blocked variable const numberoflines

    • @yessirski7868
      @yessirski7868 10 місяців тому

      @@Sahil-ev5pm if I am not mistaken, it's because the first number of lines was inside of a function, meaning it isn't global. unless it is a constant outside of the function, you are free to use it again.

  • @user-wq5wy9mv1j
    @user-wq5wy9mv1j 5 місяців тому

    Это требует определенных знаний и опыта. Спасибо, что поделились очередной рабочей связкой👍

  • @sauraabh
    @sauraabh Рік тому

    Loved the new intro!!

  • @sunrise_7878
    @sunrise_7878 6 місяців тому +1

    Hi Tim, thank you for this tutorial. 👏Is there a possibility that you can make a tutorial on how to build a project from start to finish with Angular?

  • @sandeepnakshe4473
    @sandeepnakshe4473 Рік тому +1

    as a guy who is shifting from python to javascript, this video is a gem

  • @paulthomas1052
    @paulthomas1052 Рік тому

    Thanks - smart little project 👍

  • @wojciechsobiesiak
    @wojciechsobiesiak Рік тому

    You gave me second idea today, God did in the morning and now You did. Thank You.

  • @ReshtinZegham
    @ReshtinZegham Місяць тому +1

    Thank You Good Sir!

  • @moeyali123
    @moeyali123 Рік тому +1

    let's go! a TechwithTim video on JavaScript? yeah baby!

    • @moeyali123
      @moeyali123 9 місяців тому +1

      whoo 4 months later and still haven't gone through it lol

  • @yourlinuxguy
    @yourlinuxguy Рік тому

    Thanks for your really nice project.

  • @cccplegenda9452
    @cccplegenda9452 9 місяців тому

    Tim thank you for the video, great job!

  • @florianritzkowsky8325
    @florianritzkowsky8325 Рік тому +1

    realy enjoyed the project, thank you from germany! :)

  • @ItsStaffDaddy
    @ItsStaffDaddy 6 місяців тому

    This is exactly what I needed to get spun up on some JS as I'm trying to learn some web dev. I know some Java, C++/C and code in Python for work and the pacing here was perfect for someone who needed a quick rundown.

    • @stephanieezat-panah7750
      @stephanieezat-panah7750 Місяць тому

      me too! exactly me, I have worked in C/C++, C# .net and java, and I am comfortable in web, but I need strength in this arena

  • @stephanieezat-panah7750
    @stephanieezat-panah7750 Місяць тому

    awesome. thank you

  • @benjiking251
    @benjiking251 Рік тому

    Thanks bro love your videos

  • @ofekifrah9206
    @ofekifrah9206 Рік тому +6

    Great video as always! One small note though, you used parseFloat instead of parseInt in the getNumberOfLines function altough a float shouldn't logically be a valid value for the number of lines

  • @itekkon5893
    @itekkon5893 11 місяців тому

    im just trying to get into javascript and really enjoyed this form of content. Thanks for sharing. Kinda bummed that we didnt built the fancy animation? The intro at 00:55 kinda fooled me there haha. But nonetheless i got some valuable insight and learned alot!

  • @akasfnt2910
    @akasfnt2910 Рік тому

    Thank you so much!!!

  • @usamashami11
    @usamashami11 Рік тому

    Love the disclaimer ♡

  • @antalperge1007
    @antalperge1007 Рік тому

    Bro, I LOVA YA! ❤
    At the age of 48 (!), just started with your Python vid. Love it!

  • @nehasrinivasan9741
    @nehasrinivasan9741 5 місяців тому

    Great tutorial!

  • @mehdismaeili3743
    @mehdismaeili3743 Рік тому

    great as always.

  • @ur_zaz
    @ur_zaz 5 місяців тому

    than yoy tim , for this amazing video, 😊❤

  • @zerubbabelzeleke2933
    @zerubbabelzeleke2933 9 місяців тому

    Thank Bro, you've a nice way of expressing concepts

  • @arnoldnyasetia4798
    @arnoldnyasetia4798 Рік тому +1

    This videos be mprovin ma thought process.

  • @TheRussianGenius
    @TheRussianGenius 4 місяці тому +2

    Do you have a video where you add the html/css etc. to complete the gambling game? I thought you'd maybe do that was well, but it makes sense if that's out of javascript function