npm or bundlers, but I will be discussing those in a future post.
Before starting, let me clarify precisely what I mean when I say 'job-ready:
You'll understand the broad strokes of the technology in question, and know the most fundamental concepts that come up every day.
There may be gaps in your knowledge, but those will be limited to secondary concepts or syntax/other details that you'll be able to find the answer to relatively quickly and easily.
You'll know exactly where to turn to find answers to problems or questions that you're running into.
Primitive data types (string, number, boolean, etc), and how to operate on/utilize them, including type coercion.
Working with dates/time in JS.
Functions, and how they work. You also need to understand the distinction between a function and a method.
DOM manipulation and traversal using JS.
How events work, listening for and reacting to them, and how bubbling and propogation work.
How to use mathematical and logical operators, and various methods of control flow/iteration, including
whileloops, switch statements, and built-in methods for iterating over data structures.
The two equality comparison operators (
===), and the diffrences in how they work.
Newer additions to the language from ES6 and beyond.
How scope works in JS, being able to tell what the value of
thisis in any given calling context, and how hoisting and closures work.
Debugging, particularly step-through debugging.
How to format data as JSON, and how to work with that format.
How to utilize third-party libraries in your code, and when to reach for a third-party solution versus coding it yourself.
What the Map and Set data structures are, and when to reach for them over an array or an object.
Common data structures that aren't native to JS and require custom implementation such as linked lists, stacks, heaps, etc.
If you're looking for learning sources from Udemy, I'd recommend:
Third verse, same as the first: Stack Overflow and MDN (especially MDN) are going to be very helpful resources for you as you learn JS.