JavaScript: Understanding the Weird Parts
-
Getting Started
-
Execution Contexts and Lexical EnvironmentsConceptual Aside: Syntax Parsers, Execution Contexts, and Lexical Environments0sConceptual Aside: Name/Value Pairs and Objects0sDownloading Source Code for This CourseThe Global Environment and The Global Object0sThe Execution Context – Creation and Hoisting0sConceptual Aside: Javascript and ‘undefined’0sThe Execution Context – Code Execution0sConceptual Aside: Single Threaded, Synchronous Execution0sFunction Invocation and the Execution Stack0sFunction, Context, and Variable Environments0sThe Scope Chain0sScope, ES6, and let0sWhat About Asynchronous Callbacks?0s
-
Types and OperatorsConceptual Aside: Types and Javascript0sPrimitive Types0sConceptual Aside: Operators0sOperator Precedence and Associativity0sOperator Precedence and Associativity TableConceptual Aside: Coercion0sComparison Operators0sEquality Comparisons TableExistence and Booleans0sDefault Values0sFramework Aside: Default Values0s
-
Objects and FunctionsObjects and the Dot0sObjects and Object Literals0sFramework Aside: Faking Namespaces0sJSON and Object Literals0sFunctions are Objects0sFunction Statements and Function Expressions0sConceptual Aside: By Value vs By Reference0sObjects, Functions, and ‘this’0sConceptual Aside: Arrays – Collections of Anything0s‘arguments’ and spread0sFramework Aside: Function Overloading0sConceptual Aside: Syntax Parsers0sDangerous Aside: Automatic Semicolon Insertion0sFramework Aside: Whitespace0sImmediately Invoked Functions Expressions (IIFEs)0sFramework Aside: IIFEs and Safe Code0sUnderstanding Closures0sUnderstanding Closures – Part 20sFramework Aside: Function Factories0sClosures and Callbacks0scall(), apply(), and bind()0sFunctional Programming0sFunctional Programming – Part 20s
-
Object-Oriented JavaScript and Prototypal Inheritance
-
Building ObjectsFunction Constructors, ‘new’, and the History of Javascript0sFunction Constructors and ‘.prototype’0sDangerous Aside: ‘new’ and functions0sConceptual Aside: Built-In Function Constructors0sDangerous Aside: Built-In Function Constructors0sDangerous Aside: Arrays and for..in0sObject.create and Pure Prototypal Inheritance0sES6 and Classes0s
-
Odds and Ends
-
Examining Famous Frameworks and Libraries
-
Let’s Build a Framework / Library!
-
EXTRA: TypeScript, ES6, and Transpiled Languages
-
Promises, Async, and Await
-
ES6: The Most Used Parts
-
Conclusion
JavaScript is the language that modern developers need to know, and know well. Truly knowing JavaScript will get you a job, and enable you to build quality web and server applications.
Over the past decade, tens of thousands of developers count this course as the course they always go back to year after year — the one that finally helped them grasp JavaScript and move to the next level in their web development career. Many students are now senior developers, business owners, managers, and educators!
In this course you will gain a deep understanding of JavaScript, learn how JavaScript works under the hood, and how that knowledge helps you avoid common pitfalls and drastically improve your ability to debug problems. You will find clarity in the parts that others, even experienced coders, may find weird, odd, and at times incomprehensible. You’ll learn the beauty and deceptive power of this language that is at the forefront of modern software development today.
This is the original course that taught web developers the concepts of the execution context and execution stack, critical concepts to mentally grasp how JavaScript works and how you code in it.
This course will cover such advanced concepts as objects and object literals, function expressions, function objects, prototypical inheritance, functional programming, scope chains, block scoping, classes, immediately invoked function expressions (IIFEs), call, apply, bind, promises, async, await and more.
We’ll take a deep dive into the source code of popular frameworks to see how you can use your understanding of JavaScript to learn (and borrow) from other’s good code.
Finally, you’ll learn the foundations of how to build your own JavaScript framework or library.
What you’ll learn in this course will make you a better JavaScript developer, and improve your abilities in React, Node.js, Next.js, Angular, Vue, MongoDB, and all other Javascript-based technologies!
Learn to love JavaScript, and code in it well.
Note: In this course you’ll also get downloadable source code. You will often be provided with ‘starter’ code, giving you the base for you to start writing your code, and ‘finished’ code to compare your code to.
What's included
- 12.5 hours on-demand video
- 9 articles
- 54 downloadable resources
- Access on mobile and TV
- Certificate of completion