JavaScript: Understanding the Weird Parts

12h 10m 48s
English
Paid
June 5, 2024

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.

More

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.

NOTE: This course includes information on ECMAScript 6 (ES6) the next version of Javascript!

This course will cover such advanced concepts as objects and object literals, function expressions, prototypical inheritance, functional programming, scope chains, function constructors (plus new ES6 features), immediately invoked function expressions (IIFEs), call, apply, bind, and more.

We'll take a deep dive into the source code of popular frameworks such as jQuery and Underscore 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 AngularJS, NodeJS, jQuery, React, Ember, MongoDB, and all other Javascript-based technologies!

Learn to love Javascript, and code in it well.

Who this course is for:
  • Those with basic Javascript skills who wish to improve
  • Experienced coders coming from other programming languages
  • New and experienced Javascript coders who want to deepen their understanding of the language
  • Anyone who has found concepts just as object prototypes, closures, and other advanced concepts difficult to learn
  • Those who have suffered surprising errors while writing Javascript, and want to learn why and how to avoid them
  • Those interested in building their own frameworks, or being better able to learn from the source code of other well-known frameworks and libraries

Watch Online JavaScript: Understanding the Weird Parts

Join premium to watch
Go to premium
# Title Duration
1 Introduction and The Goal of This Course 04:57
2 Setup 03:28
3 Big Words and Javascript 01:26
4 Understanding, Frameworks, and The Weird Parts 04:18
5 Conceptual Aside: Syntax Parsers, Execution Contexts, and Lexical Environments 07:36
6 Conceptual Aside: Name/Value Pairs and Objects 04:09
7 The Global Environment and The Global Object 10:59
8 The Execution Context - Creation and Hoisting 09:44
9 Conceptual Aside: Javascript and 'undefined' 08:05
10 The Execution Context - Code Execution 02:55
11 Conceptual Aside: Single Threaded, Synchronous Execution 02:17
12 Function Invocation and the Execution Stack 08:07
13 Functions, Context, and Variable Environments 07:57
14 The Scope Chain 17:26
15 Scope, ES6, and let 04:19
16 What About Asynchronous Callbacks? 10:27
17 Conceptual Aside: Types and Javascript 02:51
18 Primitive Types 05:18
19 Conceptual Aside: Operators 06:33
20 Operator Precedence and Associativity 14:15
21 Conceptual Aside: Coercion 06:15
22 Comparison Operators 19:43
23 Existence and Booleans 07:24
24 Default Values 07:52
25 Framework Aside: Default Values 07:12
26 Objects and the Dot 15:24
27 Objects and Object Literals 10:33
28 Framework Aside: Faking Namespaces 08:08
29 JSON and Object Literals 07:18
30 Functions are Objects 08:03
31 Function Statements and Function Expressions 20:33
32 Conceptual Aside: By Value vs By Reference 16:10
33 Objects, Functions, and 'this' 21:27
34 Conceptual Aside: Arrays - Collections of Anything 05:40
35 'arguments' and spread 12:01
36 Framework Aside: Function Overloading 04:44
37 Conceptual Aside: Syntax Parsers 02:26
38 Dangerous Aside: Automatic Semicolon Insertion 05:48
39 Framework Aside: Whitespace 04:26
40 Immediately Invoked Functions Expressions (IIFEs) 17:08
41 Framework Aside: IIFEs and Safe Code 08:06
42 Understanding Closures 11:10
43 Understanding Closures - Part 2 19:21
44 Framework Aside: Function Factories 12:25
45 Closures and Callbacks 08:27
46 call(), apply(), and bind() 20:56
47 Functional Programming 20:18
48 Functional Programming - Part 2 08:06
49 Conceptual Aside: Classical vs Prototypal Inheritance 05:12
50 Understanding the Prototype 14:03
51 Everything is an Object (or a primitive) 05:47
52 Reflection and Extend 15:00
53 Function Constructors, 'new', and the History of Javascript 15:55
54 Function Constructors and '.prototype' 10:25
55 Dangerous Aside: 'new' and functions 04:17
56 Conceptual Aside: Built-In Function Constructors 10:33
57 Dangerous Aside: Built-In Function Constructors 03:58
58 Dangerous Aside: Arrays and for..in 03:17
59 Object.create and Pure Prototypal Inheritance 12:38
60 ES6 and Classes 06:28
61 Initialization 05:42
62 'typeof' , 'instanceof', and Figuring Out What Something Is 06:42
63 Strict Mode 05:52
64 Learning From Other's Good Code 03:52
65 Deep Dive into Source Code: jQuery - Part 1 21:32
66 Deep Dive into Source Code: jQuery - Part 2 15:39
67 Deep Dive into Source Code: jQuery - Part 3 11:23
68 Requirements 02:59
69 Structuring Safe Code 03:08
70 Our Object and Its Prototype 09:18
71 Properties and Chainable Methods 16:59
72 Adding jQuery Support 05:23
73 Good Commenting 02:22
74 Let's Use Our Framework 08:12
75 A Side Note 00:33
76 TypeScript, ES6, and Transpiled Languages 04:34
77 Existing and Upcoming Features 00:55
78 Promises, Async, and Await 42:44
79 Learning to Love the Weird Parts 01:15

Similar courses to JavaScript: Understanding the Weird Parts

Object-oriented Programming in JavaScript

Object-oriented Programming in JavaScript

Duration 3 hours 53 minutes 46 seconds
Learn JavaScript Closures (PRO)

Learn JavaScript Closures (PRO)

Duration 5 hours 15 minutes 31 seconds
Asynchronous JavaScript

Asynchronous JavaScript

Duration 4 hours 38 minutes 53 seconds
50 Projects In 50 Days - HTML, CSS & JavaScript

50 Projects In 50 Days - HTML, CSS & JavaScript

Duration 18 hours 13 minutes 45 seconds
Build Animated Physics Game with JavaScript

Build Animated Physics Game with JavaScript

Duration 3 hours 29 minutes 27 seconds
CS50's Web Programming with Python and JavaScript

CS50's Web Programming with Python and JavaScript

Duration 14 hours 3 minutes 25 seconds
Advanced JavaScript

Advanced JavaScript

Duration 3 hours 5 minutes 51 seconds
Full-Stack Web Developer Bootcamp with Real Projects

Full-Stack Web Developer Bootcamp with Real Projects

Duration 22 hours 11 minutes 13 seconds