JavaScript: Understanding the Weird Parts

12h 10m 48s
English
Paid

Course description

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.

Read more about the course

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

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 79 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online JavaScript: Understanding the Weird Parts

0:00
/
#1: Introduction and The Goal of This Course

All Course Lessons (79)

#Lesson TitleDurationAccess
1
Introduction and The Goal of This Course Demo
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

Unlock unlimited learning

Get instant access to all 78 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Modern JavaScript

Modern JavaScript

Sources: ui.dev (ex. Tyler McGinnis)
This is a 'living' course which updates as JavaScript does. If you haven't taken a look at the latest versions of JavaScript the last few years you've been missing out. From obj...
3 hours 4 minutes 3 seconds
Build Animated Physics Game with JavaScript

Build Animated Physics Game with JavaScript

Sources: udemy
What makes a great game? Is it about beautiful, polished visuals or about gameplay that feels good and responsive? Is it about unique ideas, or maybe it's the l
3 hours 29 minutes 27 seconds
The Ultimate Web Scraping Course

The Ultimate Web Scraping Course

Sources: Adrian Horning (The Web Scraping Guy)
I have been earning a living through web scraping for over 3 years, have made over $125,000, have more than 25,000 followers on social media, and in this...
10 hours 33 minutes 19 seconds
DevOps.js Conference 2021

DevOps.js Conference 2021

Sources: devopsjsconf.com
DevOps.js is an event for all the developers and architects involved in building infrastructure and setting up pipelines and deployments for JavaScript applications. Would you l...
7 hours 51 minutes 4 seconds