We will discuss, in depth:
Scopes and Closures
Immediately-Invoked Function Expressions (IIFEs)
The “this” keyword
The call/apply/bind functions
The nature of the magical “new” keyword
Object and function prototypes
We will be using a package called live-server in our examples. This video demonstrates how to get it installed.
This video sets up our workspace for all of our examples.
The first scope-related topic we cover is the global scope. We discuss what it is, and why it can cause issues.
IIFE’s are used to resolve scoping issues - and this video demonstrates their syntax and usage in depth.
This video discusses the differences between statically and dynamically scoped languages.
This video continues the previous lecture about how to understand closures.
In the final video, we discuss the new ES2015 block scoping feature - which gives us more control over how scopes are created and destroyed.
We first introduce the keyword, why it’s useful, and some of the issues a person may have with using it.
We finish our examples by showing more instances of how it can cause issues within your code if used improperly.
Bind is often a little more confusing than call and apply, so we continue the lecture by discussing more about how it is used.
ES2015 introduced a new type of function expression that affects the “this” binding. This video talks about how we can use it to resolve common issues.
The first thing we do is discuss object prototypes; what they are, and how they can be useful.
We finish our discussion about object prototypes with more examples of their use.
Next up, we discuss constructor functions, and the “prototype” property - which is very often a source of confusion.
Object.create is a new way, as of ES5, to create objects, and affect their prototype. In this video, we discuss that function in depth.
Finally, we talk in depth of how to achieve classical-style inheritance using prototypes, Object.create, and constructor functions.
ES2015 introduces a new way to define constructor functions with the “class” keyword. This video talks about the class keyword and how it’s used to simplify our code.
3D Buzz is a company dedicated to providing the world with quality technical education over 3D animation, programming, game design, and much more. We have been producing training videos since 2001, always pushing the envelope in the development of informative lessons with an engaging and personable format. We try to make the viewer feel more like they're involved in a classroom discussion with an energetic teacher as opposed to being stuck in a dry, uninspired, run-of-the-mill training video.
But 3D Buzz is so much more than just training videos. We maintain one of the most helpful online communities on the internet. We do our very best to keep in close contact with our community, and to make sure that when you're here, you feel at home.
Since 2007 he has worked professionally as a web developer, game developer and app developer in a variety of different languages and platforms.
He began teaching programming in 2010 as an instructor for 3dbuzz.com. While at 3dbuzz, he developed training video series, hosted live training webinars, and became the lead programming instructor and administrator for the site.
His training style emphasizes deep understanding of the material and hands-on practice - with most of his training programs centered around the development of complete, real world applications.