T O P

  • By -

Standard-Art-1967

Start with freecodecamp's 7 hour something long video. The video introduces you to JS by helping you build: 1 ) a passenger counting app 2 ) a blackjack game 3 ) a browser extension Learn more from places like Odin Project later on


According_Try_9019

Javascript.info is really good content if you wanna read .


mraees93

Learn and practice the basics. Start by solving 8kyu problems on codewars


theQuandary

I learned in the early 2000s when there weren't any good books outside of the spec. Crockford's "JS: The Good Parts" was revolutionary. In hindsight, I consider that to be learning JS the hard way. I'd say start with Eloquent Javascript. Next, read Javascript Allonge to pick up functional programming as that is critical (if this fascinates you, the Mostly Adequate Guide to Functional Programming will probably be a good optional read).. Next, Exploring ES6 will go over the rest of the syntax as it's way more extensive than it used to be. Finish up with "You Don't Know JS" to dive deeper. Stepping a half-step from JS, get the original Scheme version of SICP (Structured Introduction to Computer Programming -- JS is often called "Scheme in C's clothing") and read it a couple times then again each year for the next few years. You will learn so much stuff from it each time and appreciate new aspects as you mature as a developer.


sagosaurus

Eloquent js was recommended to us as well, but reading it, the author uses completely different terms for concepts that i felt were confusing. Maybe it’s just because english isn’t my first language but i thought it was hard to grasp. He calls variables ”bindings”.


theQuandary

English is weird, but this is a mathematical term. https://en.wikipedia.org/wiki/Free_variables_and_bound_variables Basically, a free variable doesn't have a given value. A bound variable has been given a variable. This process can be called ""binding to a variable" or can be flipped to call the variable itself a "binding".


sagosaurus

Ah i see! I’ve just ever heard them referred to as variable, whether declared with a value or not. I just felt like i was struggling to put most of what i read into some sort of perspective that made sense to me.


Psionatix

I did a Software Engineering degree in my country, In my third year, I got a part-time dev job (full stack, Django (python) and React with an oracle db). I got to do a 6 month exchange in Stockholm, Sweden at KTH. As part of my degree I worked with: python, Java, C#, Visual Basic, C++, SQL/Databases, bash, web dev (html/css/js, C# backend, Entity Framework, etc). Once you have a good foundation of programming and various languages, learning a new language is pretty easy. Basically what happens is, you'll typically make some assumptions about how a language might work, based on your understanding of how others work. Then at some point something won't quite work the way you expect it to based on those assumptions, maybe the way it works allows you to accurately shift your assumption to another kind of assumption. But at some point you'll encounter a language specific niche that you just don't know, so you'll look into it and then you'll know how it works and you'll add that behavior to your existing known possibilities of how things might work. Once you have enough experience, programing, and reading and understanding documentation, becomes exponentially easier and the trick becomes more the art of documentation/self-documenting code. Depending on your work, some times it can be tricky trying to iron out the implementation details of a new feature on a product with a 20 year old code base as well, which is mixed with legacy and modern code - but that's the fun part.


Benmjt

Ran the learnjavascript.exe


HobblingCobbler

JavaScript.info is a really good resource. I literally just started using It to manipulate the DOM, and it became interesting.


DustinBrett

For me reading the articles on MDN was quite helpful, as well as the React docs when it came time to build with React. Also just reading code on GitHub from popular repositories. And messing around with Inspect/View Source anytime I wanted to know how something worked.


thether

YouTube and Udemy. Find an instructor you like and subscribe.


SponsoredByMLGMtnDew

I tried to use high level design patterns of like factory or singletons by researching abstract implementations of them. Ultimately I found that they had no use case whatsoever for js that runs on the client side I'm annoyed there isn't a library that is called "the breaker case" that doesn't add really interesting and extendable implementations of 'cool' stuff that js would be useful for that cam just be modified by the user in browser with switch statements. But ultimately that would make js evenmorehacky. SoThAtIsHowIlEaRnEdJaVaScRiPt


xinci567

You get put off by the "whole console.log thing"??? Are you stupid or something? All console.log() does is log a message to the console. It's one of the most simple and basic functions in the language. If this is enough to confuse you, then you may be better off just becoming a janitor or something.


[deleted]

[удалено]


[deleted]

[удалено]


xinci567

1. No, that was not a good insult. 2. insulting people is rude and is against reddit's TOS. 3. Both of your comments have been reported for targeted harassment.


xinci567

And your bad and cringy insults are the reason people don't like you


sagosaurus

Jesus. Who took a dump in your cereal this morning? No reason to be so rude. You’re responding to a person who’s trying to learn.


xinci567

I didn't mean to be rude. I'm just saying that if you get stumped by something so simple, then it's maybe not for you. Like for example, if you can't figure out what 1+1 is, then math probably isn't for you.


sagosaurus

Please. You were actively being rude lol


Bright-Dust-7552

Calm down lad


solistus

I've been writing javascript off and on for nearly 20 years and I, too, get put off by the whole console.log thing. I'd kill for a shell script style keyword operator, no need to get all formal and make me use punctuation marks to output some text.


diogenes_sadecv

I started with codeacademy and when that wasn't enough I jumped in. But I also had an idea of something I wanted to do with it.


AgLogan

I started with freecodecamp, I learned a lot, later I moved to udemy and creating projects


function-devs

Through freecodecamp. But what I've found that works when picking a new language (after reading some documentation) is to create something really simple - an idea you will really like. That will help piece together all those titbits you've picked.


VietCong_137

To understand js you need to create projects. I started with the udemy course from Jonas Schmedtman.


Think_Community7821

I am doing this course, don't you think it too long?!


VietCong_137

Yeah. But it was worth it. Mastering a programming language is not something you can do in few days 🥹


ozzy_og_kush

"SAMS Teach Yourself JavaScript in 24 Hours" back in 1998.


devMuzamil

Start with Code Snippets it is easiest way


[deleted]

Probably not a popular opinion but the chat feature for GitHub Copilot is like having an instructor in vs code. I’m just learning and it answers any question, shows you different ways to achieve the same thing by refactoring. You can’t follow it blindly and it won’t write a program for you but if you’re brand new it’s pretty damn amazing. I don’t care about the code completion but the chat feature is great. If believe if you are a student it’s free.


No-Upstairs-2813

> I get put off with the whole console.log thing. Don't we use print statements in Java and Python as well?


cyber_owl9427

yeah, I understand how it works but tbh its more on why do we even need it? from my understanding js is meant to make html more interactive. I don’t think any regular user is going to check console


sagosaurus

I use console.log mostly for debugging (if the code doesnt do what i expect it to do, i can console.log a variable or a response to see what is working and what’s not). And ofcourse when i wrote code that’s not connected to an html file yet. It’s also useful for when you wanna double check something, like maybe the data type of a variable, or you could use it to see what methods you can use.


cyber_owl9427

ah so console.log is mainly meant for the developer instead of the user?


No-Upstairs-2813

Yes, it is meant for the developer.


PortAuth403

Yeah to expand on that just a little JavaScript is made to run even if there are errors. So even if you have mistakes in your JavaScript, the web page still displays itself best it can. It's not like python or another language where an exception is thrown for a debugger to catch and displayed in a console window while the program halts execution. It just keeps going Errors it does identify will show up in the console log, and you may want to expand on what is logged to determine what's actually happening. Someone else can probably put it in clearer more betterer words than me.


TheRNGuy

To know what your code is doing. It's not for user, it's for programmer.


oldominion

I learned it with a book, MDN and making little projects or extending my website with JavaScript stuff.


sagosaurus

I’m also a comp sci/web dev student! I found that my teachers really just gave us super basic stuff and then the lab work was SO much more advanced. Honestly, i took to youtube. Brad traversy (traversy media) has a 10hr video on vanilla javascript that goes through ALL the basics. He explains so well, shows examples, shows limitations and uses, and he also has exercises in the video that you can pause and test yourself with! And then he shows different solutions! Honest to god, Brad traversy is the only reason i passed the course.


Arctomachine

I learnt it by writing a project (with php backend) and always searching for solutions of specific immediate tasks and issues, so practical targeted application rather than hoarding general knowledge. I also used jquery. Without having to deal with native dom manipulation syntax it went really fast.


Ampbymatchless

Retired test engineer here. Coding embedded controllers as a hobby. I decided to learn JS with idea of using low cost tablets as a user interface strictly browser not app based. Watched a few YouTube beginner videos, with a basic grasp of concepts, wrote down my objectives and just started coding. As I ran into walls and dropped into rabbit holes, just researched the specifics by web searching and reading comments and links supplied in the comments in YouTube videos, stack overflow etc. that worked for me. Not under any ‘real’ time constraints. My advice though is create your own project and start tickling the keyboard. Learn by doing !


Heavy_Performer_266

YouTube 🤓


onFilm

I started learning it in 2001. Mostly because of ActionScript. I needed to make a play button in a flash movie I made as a kid. Then I wanted to make a working clock. Then a little game. Then a website. And it blew up from there. Glad I started when I was 13!


JoeOfTheCode

[The Odin Project](https://www.theodinproject.com/) You're Welcome


zellwk

I’m biased on this now because I’ve written probably most comprehensive and clearest course to learn and mastery JavaScript. You can get 3 chapters here: https://learnjavascript.today But back in the past I started with jQuery (many many years ago). Since there’s no need for jQuery now, I won’t be able to compare it.


SpeedCola

The Odin Project, MDN, Google, Stack Overflow, and ChatGPT. Basically trying to build something and learning as I go.


bryku

I learned js pretty early on, so there weren't much for books. The internet was still pretty new as well, so you couldn't find anything on there... even if you waited 2 minutes for a Pape to load.   It was all trial and error in Netscape. Lol   It takes a long time and a lot of determination to learn a language that way. But in the end I succeeded... I think. I'm definitely not a super javascript master, I'm sure there are some things I never learned or forgotten over the years, but I can do anything I have to.   Since then the rest is just trying to keep up with whatever dumb framework is popular. React is by far the dumbest, but it is the most popular, so I haven't had to learn to many other frameworks lately.


jimrooney

I started before time was invented, so I picked up JavaScript: The Definitive Guide and just started building anything I could. There's great resources out there these days, but I doubt there will ever be a better teacher than sinking your teeth into something you find interesting. Having someone who can help you when you get stuck is invaluable too... Not just when learning either... That's for your whole career.


WizardOfAngmar

I learned it at work, never found it particularly hard but definitely quite frustrating. It took me about a month or so to get proficient with it. I think I'm what modern software development defines as "polyglot", even though I don't really like the term. Fact is, aside from some very niche languages, most of them are really similar: if you ever did some imperative/procedural programming in any language you can transfer to any procedural/imperative language. Same applies to functional programming and OOP: once you get the foundations down, you can use whatever language you want, you just need the time to learn the syntax. That's why I had no issue in using \`.reduce\`, \`.map\` and other functions as they became part of EcmaScript. Writing working code takes significantly less time than learning to write idiomatically, but the latter is just a matter of practicing a language for long enough and it's more a refinement process. To whoever is trying to learn a new language, I would suggest to try implement an application with it. Stick with something relatively simple that still covers a good amount of topics (I/O, concurrency, etc.) so you can increase incrementally the difficulty/complexity of your solution as you gain more knowledge/confidence (e.g.: read data from standard I/O, from file, from DB, from 3rd party service). Always use the same kind of application, so you can compare with other languages. Have fun and happy coding, Cheers!


TheRNGuy

I started with greasemonkey scripts and jQuery (in 2009) I still write greasemonkey scripts, but with vanilla JS instead. It took me 1 or 2 days to read entire jQuery docs and I could do most things. Took a little longer for vanilla JS, I switched from jQuery to JS in 2023, I was learning mostly from MDN and googling stackoverflow answers. I watched one youtube tutorial about MutationObserver, which was _super_ useful to me, I could instantly fix bugs in some of my greasemonkey scripts, and code less confusing too.


Phantom_ANM

learn node js and typescript from youtube, than move to frontend for dom manipulation stuff if you are used to writing backend code


DikuckusMaximus

I was locked in a large tunnel like room, a platform in the middle, and my hands were tied to chains. I didn't know how I got there, or how I was going to get out. I just woke up and the first thing I saw was the glass on the other side of the room, obviously a one way window. I had to think fast, so I snatched up the lock pick I had in my jacket, and used it in my teeth to unlock the chains. There was no way off the platform, and soon the people on the other side of the window would notice the chains were broken. So I made a leap of faith, literally, and grabbed the lip of the window. I pulled myself up with just the tips of my fingers, and in midair I smashed the glass. Laying halfway in the window now, I looked up and saw the faces of terrified people, they didn't expect I would get this far, but they also didn't know who they were messing with. So I jumped in and bit ones neck, blood gushed everywhere and the other ran. One hit a button on the way out and the alarm started ringing. I looked around, trying to find something to use, but the only thing available was the computer they had in the room. I had exactly 5 minutes to use this computer to shut down the alarm and gain access to all the doors. Guess what......it was all written in java.


Ok_Lengthiness_6591

First, u should find a project to work with ... Second, find JS book to read ... Third, read the book by a small amount and try to practice on your project ...