JavaScript Fundamentals

3 days
UJSDEV
3 days

Upcoming Sessions

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Location:

Book now

Date:

Format:

Price:

Book now

Interested in a private company training? Request it here.

JavaScript Introduction

JavaScript is THE programming language for the web, and it's becoming more and more important in other areas as well. In this module we'll take a first look at the language and how to make our lives easier by using it efficiently.

  • Why is JavaScript Important?
  • What is ECMAScript?
  • Performance
  • Picking the right Libraries
  • Developer Tools

JavaScript Language Fundamentals

In this module, we'll talk about the very basics of JavaScript. JavaScript can be a very tricky language, so we'll try to explain a couple of its quirks as well. This way, we can avoid surprises later.

  • Using Variables
  • Primitives and Objects
  • Functions: more powerful than you'd expect
  • Understanding Scope
  • Error Handling
  • Best Practices
  • Strict Mode
  • LAB - JavaScript Language Fundamentals

JavaScript Collections

Collections are a big part of OO programming, they allow you to map one-to-many or many-to-many relationships, as well as let you work with sets of data. In this module, we'll take a look at the different types of collections in JavaScript, and their uses.

  • Storing multiple values in Arrays
  • Using Objects as Maps
  • Useful Functions and Operators
  • Sets, Maps and Others
  • LAB - Collections

DOM Interaction with JavaScript

In this module, we will learn how to add client-side interactivity to our applications with JavaScript. We will learn how the DOM works, and how we can manipulate it, as well as handling user events in the browser.

  • Introduction to JavaScript
  • Understanding the DOM
  • DOM Selection and Manipulation
  • Event Handling
  • LAB: DOM Interaction with JavaScript

Object Oriented JavaScript

Since ECMAScript 2015 we have native classes in JavaScript. Classes can be seen as templates for JavaScript Objects, encapsulating data and code to work on that data. We'll take a closer look in this module.

  • Class syntax
  • Prototypes
  • Using Properties to encapsulate your fields
  • The 'this' keyword explained
  • LAB - Object Oriented JavaScript

Functional JavaScript

JavaScript not only supports OOP, but also functional programming. This paradigm focusses on...FUNCTIONS, duh! Using functional programming, you can write more elegant code, which is easier to debug and maintain. This module goes over the basics principles and how you can make this declarative style work in JavaScript. By going over these concepts, two important topics will also be handled: how to copy an object, and closures.

  • Principles of Functional Programming
  • Advanced Functional Patterns

Dealing with Async Code in JavaScript

Asynchronous code is really handy in JavaScript, since it allows us to keep the UI responsive while running a lot of code. In this module we'll see how to make our code run asynchronously.

  • Threading in JavaScript
  • Using Callbacks
  • Event Handling
  • Working with Promises
  • Async and Await
  • LAB - Dealing with Async Code

Structuring JavaScript Applications and Tooling

Hey new JavaScript developer! You are using WebPack right? WebPack? Yes, and Gulp and npm, you need those. And definitely use TypeScript. It's soo good... If your face looks like a big question mark right now, that's quite normal. Setting up a JavaScript project can be quite the challenge. It's easy to get lost in the overwhelming amount of tools and best practices. In this module we'll create some clarity about these tools and teach you how to set up a modern JavaScript project.

  • Using Libraries
  • Content Delivery Networks
  • Getting Libraries with npm
  • Modules versus the Global Object
  • Bundling and Minification
  • PolyFills and Transpilers
  • Typescript
  • Using Task Runners
  • Tools for Code Quality
  • LAB - Structuring an Application

Working with Frameworks

Yes you can do DOM interaction yourself, but ... yeah maybe let a framework do it? In this chapter we will look at how frontend development changed over time and how we came to using component-based frameworks. Which framework? Good (highly debated) question. We will talk shortly about the big three: Angular, React and Vue; but stay unopinionated.

  • The Evolution of Web Development
  • Comparing Popular Frameworks such as Angular and React
  • LAB - Building a Frontend with a Framework

Talking to the Server

JavaScript runs on the client, data is stored on servers. At some point JavaScript needs to talk to the server to get, update, ... some data. In this chapter we will see how to talk to a REST service using the fetch API. We will briefly show how you can make that REST service using server-side JavaScript, a.k.a. nodejs.

  • Rest Service
  • Server-Side JavaScript
  • Fetching Data with the Fetch API
  • Syncing the Data
  • LAB - Consuming a Web API

Using Browser APIs

DOM interaction, fetch API, setTimout, ... all calls JavaScipt makes to the browser: "hey borwser, can you do this for me?". The browser gives a lot more APIs to JavaScript developers. In this chapter we look at some commonly used browser APIs.

  • The Window Object
  • Storing Data on the Client
  • Dynamic Graphics
  • Accessing the File System
  • Device APIs
  • Check Compatiblity

JavaScript is one of the most versatile languages and can be used to code applications for the browser, desktop, phone or tablet. This course is the primer you need for any of your JavaScript endeavours, whether you want to build web sites, web servers with node, mobile apps, office extensions, tools, machine learning,... The list goes on. JavaScript is everywhere and you need to know it.

Developers who want to build rich web applications with JavaScript. This course is independent of the server-side technology you are using, so feel free to attend whether you use PHP, ASP.NET, Python, Ruby on Rails... A basic understanding of programming - in whatever language - is advised.
Note: This is only about JavaScript, if you want to learn about CSS and HTML as well, you need this course: www.u2u.be/training/javascript-html-css-programming.

Contact Us
  • Address:
    U2U nv/sa
    Z.1. Researchpark 110
    1731 Zellik (Brussels)
    BELGIUM
  • Phone: +32 2 466 00 16
  • Email: info@u2u.be
  • Monday - Friday: 9:00 - 17:00
    Saturday - Sunday: Closed
Say Hi
© 2024 U2U All rights reserved.