Skip to main content
main-content
Top

About this book

Discover everything you need to know to get up-to-speed with JavaScript development and add dynamic enhancements to web pages. This completely updated third edition reveals how the code works and when to use closures, constants, and execution content.

Starting with the basics, you’ll see how to employ prototypical inheritance, as well as memory management, variable hoisting and event bubbling. Also covered is an introduction to Node.js and package managers, key to understanding the tools necessary in front-end development and how they are used with current JavaScript frameworks.

JavaScript is one of the most important technologies on the web, providing the means to add dynamic functionality to your web pages and serving as the backbone of working with frameworks like Angular and React. Beginning JavaScript, Third Edition will take you from being a JavaScript novice to working freely with this important technology - begin your JavaScript journey today!

What You'll LearnConstruct good JavaScript syntax following modern coding practices

Use JavaScript to communicate with the server and retrieve data

Dynamically manipulate markup, validate forms and deal with images

Debug applications using features inside the browser

Use TypeScript to bring strong typing to the languageWho This Book Is For

Beginner to intermediate developers with a basic knowledge of front-end programming who are looking for a deeper understanding of how JavaScript works in the browser and how to answer questions in an interview.

Table of Contents

Chapter 1. Introduction to JavaScript

Abstract
JavaScript has changed a lot over the years. We are currently in a time where there is a JavaScript library for just about anything you would like to build. JavaScript lives both on the client and the server, on the desktop and on mobile devices.
Russ Ferguson

Chapter 2. JavaScript and Development Tools

Abstract
There is a lot to get your head around if you are new to developing JavaScript applications. A question often asked is “Where do I start?” This is the goal of this chapter, to help you locate resources and tools that can help you on the path to developing applications with JavaScript. I will also go over some basic usage of these tools. This chapter is not designed to be a definitive guide or as product placement, but it should point you in the right direction.
Russ Ferguson

Chapter 3. JavaScript Variables

Abstract
In this chapter, you will learn some basic JavaScript data types. When you want the computer to hold onto some information, that information is of a certain “type.” For example, an email address is a type called String. The computer recognizes that your email address is a series of letters, numbers, and symbols.
Russ Ferguson

Chapter 4. JavaScript Objects and Arrays

Abstract
The last chapter introduced variables. Using variables, you can save information to use later. As applications become more complex, the ability to remember user settings, URLs, or the contents of a form becomes more important.
Russ Ferguson

Chapter 5. JavaScript Functions and Context

Abstract
The previous chapter introduced the concept of objects and used the array object to illustrate how objects can be used to help you develop your application.
Russ Ferguson

Chapter 6. JavaScript and Events

Abstract
In the last chapter, you learned how functions work and the difference between arrow functions and function expressions. You also learned how the execution context controls the keyword this and the built-in methods used to create a more predicable way of working with it.
Russ Ferguson

Chapter 7. JavaScript and Programming Paradigms

Abstract
In this chapter, I will explain some of the different programming paradigms you can use with JavaScript. By programming paradigms I mean the different ways or “styles” in which you can write your JavaScript code.
Russ Ferguson

Chapter 8. JavaScript and Debugging

Abstract
Up to this point, I have discussed how to install software and some of the important things you need to know when working with JavaScript. For the most part, JavaScript is something that you work with in the browser.
Russ Ferguson

Chapter 9. JavaScript and Client-Side Development

Abstract
In the early chapters, you installed NodeJS and learned how to do things like run a local server. After that, you spent a good amount of time working with the browser and exploring how JavaScript works inside it. In this chapter, I will introduce tools powered by NodeJS that will enhance client-side development.
Russ Ferguson

Chapter 10. JavaScript and Server- Side Development

Abstract
In the last chapter, you used NodeJS as a way to help with client-side development. The tools that you used were all powered by Node. The ability to create files and convert languages like Sass and advanced JavaScript into something your browser can understand would not be possible without Node.
Russ Ferguson

Chapter 11. JavaScript and Application Frameworks: Angular

Abstract
In the interest of trying to keep this discussion simple, when I refer to application frameworks, I am talking about any library or framework that helps you to develop full web applications quickly. This could include but is not limited to Angular, React, Vue, and Polymer.
Russ Ferguson

Chapter 12. JavaScript and Application Frameworks: React

Abstract
In the last chapter, you were able to create an Angular application and by using a proxy connect to a Node server that had access to a MySQL database. With this setup, you were able to retrieve data and display it on a screen. You also updated the code so you could use the REST verb POST to send data from a form to the server and
Russ Ferguson

Chapter 13. JavaScript and Static Deployment

Abstract
You have done a lot of development on your local machine, working with JavaScript directly in the browser and then using frameworks like Angular and React to develop applications that rely on data from the server. Now that you have an understanding of what it is like to work with larger applications, you can move these applications from your laptop to a server to be seen by everyone.
Russ Ferguson
Additional information