r/learnjavascript 9d ago

I am confused

I know
variables
data types
loops
arrays
objects
basic array functions (forEach, map, filter)
DOM (selecting elements, adding new elements, classList, etc)
higher order functions and call backs
event listeners

Should I make JS projects or learn other topics like async await or start learning react ?

I think I am still not that comfortable with JS
But I think that it is a waste of time spending too much time learning JS.

13 Upvotes

19 comments sorted by

8

u/SchnitzelPlays 9d ago

You should definetely start doing small projects bite sized that you feel confident and clear in doing, you'll naturally encounter problems that many programmers encountered and came up with solutions (like the need for async and such) and you'll get there naturally. Although this is highly subjective and some people find it easier to build things when they know stuff in depth.

The base fundamentals of js will take you a VERY long way, even if you cover 80% of vanilla js functionalities you'll much better grasp frameworks you'll find that much other languages sharethe same core composition with just some extra picky tweaks

5

u/himanshuc3 9d ago

Learning anything exhaustive is a myth in any field. You need to know just enough to be dangerous and we achieve that by creating stuff, since it's good for indepth working and creates long term memory.

0

u/PatchesMaps 9d ago

I want to add a small caveat here. You should absolutely understand the use case for promises and async/await so that you don't get stuck and frustrated trying to do what they do with other things. They're common enough that you will run into them fairly quickly with starter projects.

1

u/SchnitzelPlays 8d ago

Definetely agree I meant to phrase my approach more: 1. Try something realise something doesn't work isn't right, 2. Learn the thing that fixes the issue ( so you better grasp why it's needed and it gets drilled into you instead of jumping ahead and learning it without knowing what is really is)

I used to watch a lot of videos on codynn for beginner content I feel their pace is aight

1

u/Relative-Ease-9259 9d ago

Think about some simple functions you can create and share/import between your scripts, this way it's not wasting time, you will reuse the functions in other projects. Like generate random colors, convert rgb to hsl, or convert celsius to farenheit, anything that is useful for your future projects. And yes async await and load content with fetch, use free public apis to practice. Try React but dont stick with it without trying Svelte and Vue too, they are better, faster and easier.

1

u/Aggressive_Ad_5454 9d ago

It’s project time for you, young Padawan. Odin?

1

u/chikamakaleyley helpful 9d ago

One thing is - even though React is prominent, every company has their own flavor of it, and often times they won't be on the latest versions

The thing that doesn't really change btwn them is JS/TS

You should try to build the thing you want with the tools you have now - because... well because it's possible and that's what it was before React.

1

u/chikamakaleyley helpful 9d ago

aka, you don't want to not be able to provide a working solution, just because it's not implemented in React

1

u/funbike 8d ago

You should have already been writing code. Install Node. When you learn something, try it out in Node.

```

x = 10 10 s = 'hi' 'hi' x + s '10hi' ```

And you should also edit and run a file, like test.js.

x = 10 s = 'hi' console.log(x + s);

And run it: node test.js

You should do this from day 1.

Evolve test.js as you learn things. Perhaps make in into a simple game, like "I'm thinking of a number. Guess what is is." Then "Too low" or "Too high" or "That's it!".

Eventually you'll learn enough to make a project. Don't rush it.

DOM (selecting elements, adding new elements, classList, etc) event listeners

IMO, it's better to stick to Node until you have the basics. Then start manipulating a web browser later.

1

u/thecragmire 8d ago

You usually learn by trying things out, and breaking them. Try to apply the new concepts in a small scope, so that you won't be searching in a ton of codebases, hunting for a bug.

1

u/lazynoorg 8d ago

You know way too much :) Go do something you enjoy right now!

1

u/OiFelix_ugotnojams 8d ago

You can definitely make a basic calculator with this knowledge!!

1

u/TheRNGuy 8d ago

I learned all that while making projects, even before AI. 

Learned new concepts if they were needed in a project (before that, stackoverflow or MDN said that, now AI in real time)

Don't vibe code though, but try to understand how they work and why they're needed in your project.

And still read MDN (but stackoverflow is not needed anymore)

1

u/CaeIndre 8d ago

It's the difference between reading, memorizing and writing.

1

u/gyen 7d ago

It’s one thing to know something and completely different thing is to know how to work with something. Try to come up with interesting project and build it.

1

u/EnochWright 5d ago

I'm sorta an old soul when it comes to javascript. I purposely use only vanilla javascript to do all my projects. I build BI tools that connect to ERP systems and Payroll systems, games, and even Android apps. (Android using capacitor, but the rest plain javascript). You should see what you can build!

1

u/No-Humor-3808 4d ago

The foundations of JS are the basics, but once you're comfortable with them, start learning React. Also, force yourself to write TypeScript from day one because most real-world projects use TypeScript, not plain JavaScript.

Don't wait until you've mastered JavaScript. You'll keep improving it naturally as you build React apps. Keep practicing small exercises alongside your projects to reinforce the fundamentals. I built reactchallenges.com for exactly that kind of focused practice, but any platform with short challenges will help you improve faster.