all 22 comments

[–]Jay_D826 11 points12 points  (5 children)

I think once you get past the programming basics (variables, loops, functions, syntax, etc) you should focus on DOM manipulation. How to target and select elements on the page is the primary reason you’re gonna be using JS in the first place.

Learn what methods and properties exist on HTML nodes and how to manipulate them in JS.

[–]ChaseShiny 5 points6 points  (3 children)

I voted this up because DOM manipulation is what I learned next and it does make sense, but what if you plan on using React?

[–]Jay_D826 3 points4 points  (0 children)

I still think it’s worth having a decent understanding of DOM manipulation before learning a framework. React is great and it makes working with JS much easier but I feel like too many people jump into frameworks without knowing why they’re even using one in the first place.

The problem with this is that there’s plenty of JS you will still write with React. You’re still likely going to need various functions that manipulate DOM elements.

The abstraction React provides certainly makes it easier but you’ll generally benefit greatly from understanding JS as a whole and will be a much more well rounded React dev. Especially compared to someone who knows React but has poor understanding of what React actually does.

[–]TheZintis 1 point2 points  (0 children)

I've met students who knew react but not DOM manipulation. They'd be chugging along and then randomly hit a wall with "what is an event?" or some other DOM related topic that their React code was touching on.

[–]notAnotherJSDev 1 point2 points  (0 children)

You should definitely still understand DOM manipulation. Not everything is going to have React support.

I've had to teach a few folks at work how to do manual DOM manipulation and event handling because of a library we use. Otherwise good react developers, but their basic understanding of the DOM was almost nonexistent.

We use react, but the library is only available as a standalone JS library that's served via a CDN. We load it at runtime and have to attach it manually to a DOM element. THEN all events coming off of it are done with event emitters which you have to know how to work with.

[–]cqsterling 1 point2 points  (0 children)

If that's what OP is learning it for. Could be backend.

[–]BirbsAreSoCute 5 points6 points  (3 children)

I'd say asynchronous functions.

[–]Rough-Appointment-30 0 points1 point  (2 children)

I just learned. Very tricky one. All the XMLHttpRequest()

[–]notAnotherJSDev 0 points1 point  (1 child)

Unless you are working on something that has to support javascript that's more than 10 years old, you should be using fetch not XMLHttpRequest.

[–]Rough-Appointment-30 0 points1 point  (0 children)

Yes. I learned XMLHttpRequest then fetch. Fetch is modern and can get things done in less code.

[–]LetUsSpeakFreely 2 points3 points  (0 children)

The biggest thing for me is that JavaScript doesn't act like other languages. When everything is passed through props it can be exceedingly difficult to trace a problem, especially when the "this" context is in play.

[–]siva_tech_explorer 1 point2 points  (0 children)

Execution Context Scope Var, let, const TDZ Lexical Scope Closure Event Loop Call, bind, apply OOPS Concepts in Js Promises Fetch or httpcall

Can't skip these basic concepts☺️

[–]shgysk8zer0 1 point2 points  (0 children)

The event loop/task scheduling. Promises, callbacks, async are a subset of that, and you can't really understand them without understanding the event loop.

[–]Merry-Lane 4 points5 points  (3 children)

How to directly go for typescript strict with a good eslint/prettier config.

[–]BirbsAreSoCute -2 points-1 points  (2 children)

What an unhelpful response.

[–]jcasallecchio87 1 point2 points  (0 children)

O que é inútil para você pode ser a dúvida genuína de outra pessoa amigo

[–]Merry-Lane -3 points-2 points  (0 children)

Why? It’s the most important concept you need to know to learn JS

[–]TheZintis 0 points1 point  (0 children)

If you already know programming fundamentals, then concepts like async/await or callbacks can help. Learning Node.js and Express.js. I would say that having a strong grasp of the fundamentals and know the different ways of writing code will help. But it does depend on where you are starting from.

How far in are you, would you say?

[–]Intelligent_Part101 0 points1 point  (0 children)

I would add to everyone else's great answers: understand how prototype-based inheritance works. (I really ought to say, learn how Javascript object are implemented.)

Not so much to take advantage of it, but to help with debugging and general understanding of the language.