Beginning Object-Oriented Programming with JavaScript

Video description


About This Video

  • Cover the new object-oriented features introduced as a part of ECMAScript 2015
  • Build web applications that promote scalability, maintainability, and usability
  • Discover how to skillfully develop asynchronous code within larger JS applications

In Detail

Before diving into the intricacies of front-end frameworks, serverless architectures, or back-end development, it's important to understand the fundamental concepts of the modern JavaScript language. We'll show you everything you need to know to get up and running with proven object-oriented patterns so that you can confidently tackle your own real-world development projects. With coverage of everything from new syntax to working with classes, complex inheritance, dynamic typing, and data binding, this course is the complete primer for those looking to work with modern, production-ready JavaScript.


If you are a programmer who is new to JavaScript, then this is the course for you. You'll find plenty of structured exercises and guided activities inside that are designed to build upon your existing skills in a balanced and pragmatic manner. By the end of the course, you'll be equipped with all the skills you need to tackle modern web development projects for production environments.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Diving into Objects and OOP Principles
    1. Course Overview
    2. Lesson Overview
    3. Creating and Managing Object Literals
    4. Properties
    5. Methods
    6. Defining Object Constructors
    7. Using Object Prototypes
    8. Using Classes
    9. Beginning with Object-Oriented JavaScript
    10. Checking Abstraction and Modeling Support
    11. Association
    12. Aggregation
    13. Composition
    14. Analyzing OOP Principle Support in JavaScript
    15. Polymorphism
    16. JavaScript OOP versus Classical OOP
    17. Summary
  2. Chapter 2 : Working with Encapsulation and Information Hiding
    1. Lesson Overview
    2. Encapsulation and Information Hiding
    3. Privacy Levels
    4. Using the Meta-Closure Approach
    5. Managing Isolated Private Members
    6. A Definitive Solution with WeakMap
    7. Using Property Descriptors Part-1
    8. Using Property Descriptors Part-2
    9. Implementing Information Hiding in ES6 Classes
    10. Lesson Summary
  3. Chapter 3 : Inheriting and Creating Mixins
    1. Lesson Overview
    2. Implementing Inheritance
    3. Objects and Prototypes
    4. Prototype Chaining
    5. Inheritance and Constructors
    6. Using Class Inheritance
    7. Overriding Methods
    8. Overriding Properties
    9. Protected Members
    10. Implementing Multiple Inheritance
    11. Creating and Using Mixins
    12. Lesson Summary
  4. Chapter 4 : Defining Contracts with Duck Typing
    1. Lesson Overview
    2. Managing Dynamic Typing
    3. Dynamic Data Types
    4. Beyond the Instance Type
    5. Contracts and Interfaces
    6. Implementing Duck Typing
    7. Defining a Private Function
    8. A General Solution
    9. Emulating Interfaces with Duck Typing
    10. Demonstrating the Equivalent Version without ECMAScript 2015 Syntax
    11. Multiple Interface Implementation
    12. Comparing Duck Typing and Polymorphism
    13. Lesson Summary
  5. Chapter 5 : Advanced Object Creation
    1. Lesson Overview
    2. Creating Objects
    3. Creating a Singleton
    4. Mysterious Behavior of Constructors
    5. Singletons
    6. Implementing an Object Factory
    7. The Abstract Factory
    8. The Builder Pattern
    9. Lesson Summary
  6. Chapter 6 : Working with Data
    1. Lesson Overview
    2. Managing User Interfaces
    3. Implementing Presentation Patterns
    4. The Model-View-Controller Pattern
    5. The Model-View-Presenter Pattern
    6. The Model-View-ViewModel Pattern
    7. Data Binding
    8. Implementing Data Binding
    9. Monitoring Changes
    10. Hacking Properties
    11. Setting up a Data Binding Relationship
    12. Applying the Publish/Subscribe Pattern
    13. Lesson Summary
  7. Chapter 7 : Asynchronous Programming and Promises
    1. Lesson Overview
    2. Event Loop and Asynchronous Code
    3. Events, Ajax, and Other Asynchronous Stuff
    4. Writing Asynchronous Code
    5. Issues of Asynchronous Code
    6. Promises
    7. Lesson Summary
  8. Chapter 8 : Organizing Code
    1. Lesson Overview
    2. Taking Control of the Global Scope
    3. Creating Namespaces
    4. Organizing Code with the Module Pattern
    5. Augmentation
    6. Composing Modules
    7. Loading the Module
    8. Module Loader Issues
    9. Asynchronous Module Definition
    10. Using the ECMAScript 2015 Modules
    11. Lesson Summary

Product information

  • Title: Beginning Object-Oriented Programming with JavaScript
  • Author(s): Tamas Piros
  • Release date: June 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789134445