
Paths
JavaScript Core Language
s: Mark Zamoyta, Paul D. Sheriff, Barry Luijbregts, Jeff Batt, Marques Woodson, Jonathan Mills, Jim Cooper, Prateek Parekh, Nate Taylor, Marcin Hoppe
JavaScript is an interpreted programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has... Read more
What You Will Learn
- Utilize modules for code organization
- Employ classes for code organization
- Understand communication and browser integration
- Demonstrate asynchronous programming techniques
- Use proxies and reflection
Pre-requisites
- HTML
- CSS
JavaScript Core Language
Dive into JavaScript while learning the basics of arrays, collections, and functions as well as advanced topics such as promises and asynchronous programming.
JavaScript: Getting Started
by Mark Zamoyta
3h 56m
Description
If you’re learning to program for the first time, or if you’re coming from a different language, this course, JavaScript: Getting Started, will give you the basics for coding in JavaScript.
In this JavaScript for Beginners course you'll learn:
- The types of applications that can be built with JavaScript, and the platforms they’ll run on.
- Next, you’ll explore the basics of JavaScript, learning from plenty of JavaScript examples.
- Lastly, you’ll put your JavaScript knowledge to work and modify a modern, responsive web page.
When you’re finished with this course, you’ll have the skills and knowledge in JavaScript to create simple programs, create simple web applications, and modify web pages!
Table of contents
- Course Overview
- Introduction to JavaScript
- JavaScript Beginnings
- Variables and Constants
- Types and Operators
- Program Flow
- Functions
- Objects and the DOM
- Arrays
- Scope and Hoisting
JavaScript Syntax and Operators
by Paul D. Sheriff
1h 41m
Description
Are you a JavaScript programmer that needs to learn more about the syntax, exception handling, and the wide array of operators JavaScript has to offer? In this course, JavaScript Syntax and Operators, you will expand your knowledge of the JavaScript language. First, you will learn all about the switch statement and the difference between for/in and for/of. Next, you will discover the various math, comparison, and logical operators, in addition to handling exceptions and determining the data type of variables. Finally, you will explore the 'this' keyword and the spread operator. When you are finished with this course, you will have gained the skills and knowledge of JavaScript syntax and operators needed to propel your JavaScript applications to the next level.
Table of contents
- Course Overview
- All About the Switch Statement
- The Difference Between for/in and for/of
- Using Math and Comparison Operators
- Working with Logical Operators and Short-circuit Evaluation
- Utilizing JavaScript Exception Handling
- How to Determine JavaScript Variable Data Types
- Understanding 'this' in JavaScript
- Using the Powerful Spread Operator
JavaScript Variables and Types
by Barry Luijbregts
43m
Description
At the core of working with variables and types in JavaScript is a thorough knowledge of employing variables, literals and assignments, and applying primitive types. In this course, JavaScript Variables and Types, you’ll learn how to work with variables and types in JavaScript. First, you’ll learn how to employ variables. Next, you’ll explore employing literals and assignments. Finally, you’ll discover how to apply primitive types. When you’re finished with this course, you’ll have a foundational knowledge of employing variables, literals and assignments, and applying primitive types that will help you as you move forward to work with variables and types in JavaScript.
Table of contents
- Course Overview
- Using Variables, Literals, and Assignments
- Applying Primitive Types
JavaScript Arrays and Collections
by Jeff Batt
1h 57m
Description
At the core of using data collections within JavaScript is a thorough knowledge of sets, maps, and typed arrays. In this course, JavaScript Arrays and Collections, you will learn how to create and apply data collections to your web applications. First, you will understand how to apply more advanced array methods to your current arrays. Next, you will explore how to store unique data using sets. Then you will learn how to store data using key and value pairs with maps. Finally, you will discover how to work directly with binary data using typed arrays. When you are finished with this course, you will have a foundational knowledge of data collections within the JavaScript language that will help you as you move forward to building more efficient web apps.
Software required: A text editor like Sublime or Visual Studio Code.
Table of contents
- Course Overview
- Methods for Working with Arrays
- Working with Sets
- Creating and Using Maps
- Exploring Typed Arrays
Javascript Generators and Iterators
by Marques Woodson
1h 25m
Description
Understanding iterators, iterables, and generator functions can be difficult. In this course, JavaScript Generators and Iterators, you will learn foundational knowledge of these constructs so that you feel comfortable using them every day. First, you will understand what iterators are and a few of the available built-in iterables. Next, you will discover generator functions and the yield keyword. Finally, you will explore how to use Cancelable Async Flows to help treat your generator functions like async functions. When you are finished with this course, you will have the skills and knowledge of iterators and generator functions needed to start using them today.
Table of contents
- Course Overview
- Iterators and Iterables
- Generator Functions
- Real-world Examples and Cancelable Async Flows (CAF)
Working with JavaScript Modules
by Jonathan Mills
45m
Description
At the core of JavaScript is a thorough knowledge of Modules. In this course, Working with JavaScript Modules, you’ll learn how to break your code out into modules in a logical way and use those modules in your application. First, you’ll learn what modules are and why you should use them. Next, you’ll explore how to import and export code from modules. Finally, you’ll discover how to use those modules in a real-world application. When you’re finished with this course, you’ll have a foundational knowledge of modules that will help you as you move forward to build easier to maintain JavaScript applications. Software required: JavaScript.
Table of contents
- Course Overview
- What Is a Module?
- Creating Modules
- Using Modules
JavaScript Objects, Prototypes, and Classes
by Jim Cooper
1h 48m
Description
Objects, prototypes, and classes are extensively used in JavaScript programming. Understanding each of them beyond a surface level will help you more deeply understand the foundations of JavaScript. In this course, JavaScript Objects, Prototypes, and Classes, you will learn the foundations of creating and working with objects including a deeper understanding of how JavaScript works with regards to objects and inheritance. First, you will see different ways to create objects and properties and how to work with them, including modifying property descriptors, using constructor functions, working with getters and setters, and more. Next, you will discover what prototypes are, how prototypes and prototypal inheritance work in JavaScript, and some of the hidden complexities of prototypes. Finally, you will explore how to create objects and handle inheritance using classes. When you’re finished with this course, you will have the skills and knowledge of JavaScript Objects, Prototypes and Classes needed to create powerful and well structured applications that take advantage of the dynamic power of JavaScript.
Table of contents
- Course Overview
- Creating JavaScript Objects
- JavaScript Object Properties
- JavaScript Prototypes and Interfaces
- JavaScript Classes
- Using Built-in JavaScript Objects
JavaScript: Functions
by Prateek Parekh
48m
Description
Code is hard to maintain, especially when you keep adding new features to your project over several months and years. If you are not careful, you can end up with spaghetti code where several parts of the project are essentially doing the same task and any change in one feature can cause changes in several other parts of the code. In this course, JavaScript: Functions, you’ll learn the foundational knowledge to write modular code that not only prevents duplication, but also increases code readability and maintainability. First, you’ll explore what Functions are and how to write them. Next, you’ll discover the power of Arrow Functions in improving readability. Finally, you’ll gain the ability to use additional language features that come with JavaScript out-of-the-box to write applications with multiple functions interacting with each other. When you’re finished with this course, you’ll have the skills and knowledge of Functions needed to write modular, re-usable, and concise code in JavaScript.
Table of contents
- Course Overview
- Writing Modular Code with Functions
- Improving Readability with Arrow Functions
- Changing Function Context and Built-in Functions
- Constructing Rest Parameters and the Spread Operator
JavaScript Promises and Async Programming
by Nate Taylor
1h 21m
Description
Asynchronous programming is often new and confusing when first learning JavaScript. In this course, JavaScript Promises and Async Programming, you’ll gain the ability to handle async programming in JavaScript. First, you’ll explore consuming promises. Next, you’ll discover creating your own promises. Finally, you’ll learn how to use async/await to handle asynchronous programming. When you’re finished with this course, you’ll have the skills and knowledge of JavaScript promises needed to handle asynchronous code.
Table of contents
- Course Overview
- Understanding Promises
- Consuming Promises
- Creating and Queuing Promises
- Iterating with Async/Await
JavaScript Security: Best Practices
by Marcin Hoppe
1h 31m
Description
Complex Web applications contain a lot of JavaScript code. Security of those applications depends on how robust this code is. In this course, JavaScript Security: Best Practices, you’ll learn how to improve the security of your JavaScript code. First, you’ll explore how exploiting the dynamic type system may lead to information disclosure vulnerabilities. Next, you’ll discover how JavaScript dynamic code execution functions can allow attackers to run arbitrary code within your application. Finally, you’ll learn how abusing prototypal inheritance may change the behavior of your application in unexpected ways. When you’re finished with this course, you’ll have the skills and knowledge of JavaScript security best practices needed to protect your web applications against attackers.
Table of contents
- Course Overview
- Understanding JavaScript Security
- Preventing Code Injection Attacks
- Defending against Prototype Pollution
- Testing Your Code