Object-Oriented JavaScript
Offered By: Hack Reactor via Udacity
Course Description
Overview
Have you been dabbling with JavaScript but find your files keep turning into a mess of spaghetti code? Do you find yourself copying and pasting lines of code over and over throughout your application? Surely there’s a better way, right?
Yes, there is a better way -- object-oriented programming will allow you to build websites using reusable blocks of code known as libraries, similar to using bricks to build a house. This course is designed to teach web developers how to utilize the various object-oriented programming features within JavaScript, and more importantly, how to write reusable and maintainable libraries that will make your life easier.
Why Take This Course?
As a Front-End Web Developer, JavaScript is one of the most important languages in your toolbox. A strong foundation in the language’s features empowers you to write efficient and performant web applications. In this course you’ll explore a variety of ways to write object-oriented code in JavaScript.
You’ll build a variety of JavaScript objects and explore how their different inheritance models affect your code’s execution and in-memory model. You’ll use these features to write memory efficient code and seek simplicity and modularity in your own code.
Syllabus
Lesson 1: Scopes and Closures
We’ll start by discussing JavaScript’s functional variable scoping features, including lexical scopes (variable availability as you write your code) and dynamics scopes (variable availability as your code actively runs). We’ll then discuss closures, an often misunderstood but incredibly useful feature available in only a handful of languages, including JavaScript.
Lesson 2: The Keyword "this"
You’ll start your dive into JavaScript object-oriented features by first discovering the parameter "this". You’ll learn how the value of "this" is determined within various code structures and why it might be a lot easier to think of "this" as a parameter rather than a keyword.
Lesson 3: Prototype Delegation
You’re probably using one of JavaScript’s inheritance models already: prototype delegation! In this lesson you’ll learn more about this unique feature of JavaScript, how JavaScript uses this feature internally and how you can take advantage of it to maximize your application’s memory footprint.
Lesson 4: Code Reuse
There are numerous ways to write concise, maintainable and reusable code in JavaScript and you’ll practice a number of them in this lesson. We’ll start writing a library using basic functions and learn the decorator pattern. Then, we’ll refactor this library into the functional, prototypal and pseudoclassical inheritance models. Finally, we’ll explore sub-classing -- coding objects that directly inherit from objects we’ve previously defined.
Taught by
Marcus Phillips and Michael Wales
Tags
Related Courses
Advanced CloudFormation: Macros (Simplified Chinese)Amazon Web Services via AWS Skill Builder Advanced Java Concurrency
Vanderbilt University via Coursera Advanced Monitoring and Optimizing with DynamoDB (Traditional Chinese)
Amazon Web Services via AWS Skill Builder Advanced SAS Programming Techniques
SAS via Coursera Amazon DynamoDB for Serverless Architectures (Spanish)
Amazon Web Services via AWS Skill Builder