# Lesson Plan JavaScript3 Week 3 ## Agenda The purpose of this class is to introduce to the student: - The purpose and use of `async/await` - What is `Object-Oriented Programming` (OOP) is and how it's applied to JavaScript - How to use ES6 `classes` ## Core concepts 1. The purpose and use of `async/await` Notes: - It's an upgrade to `Promises` - Makes writing an asynchronous function more readable **Do exercise** 2. What is `Object-Oriented Programming` (OOP) is and how it's applied to JavaScript Notes: - It's a programming style; it defines how to organise your application - In OOP each program would be split up into self-contained objects, that then communicate with each other - Each object represents a part of the application: it contains its own data and logic - OOP is meant to make thinking about your applications easier, by having each object represent a real-life entity (i.e. Users, Profiles, Products) **Show examples** FIRST HALF (12.00 - 13.30) 3. How to use ES6 `classes` Notes: - `classes` are a modern way of creating objects in JavaScript - It's `syntactical sugar` for object constructors - A `class` is a blueprint of an object, that can be instantiated **Do exercise**