Beginning Object-Oriented Programming with JavaScript

Beginning Object-Oriented Programming with JavaScript

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 4h 03m | 927 MB

Build up your JavaScript skills and embrace object-oriented development for the modern web

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.

What You Will Learn

  • Learn about object-oriented programming using some of the latest updates to the JavaScript language
  • Understand key principles such as object inheritance and the correct usage of JavaScript mixins
  • Master dynamic typing and polymorphism with examples that reflect key implementation challenges
  • Explore data binding and write asynchronous code using callbacks and events
  • Complete a variety of hands-on activities to prepare you for work on your own development projects
Table of Contents

01 Course Overview
02 Lesson Overview
03 Creating and Managing Object Literals
04 Properties
05 Methods
06 Defining Object Constructors
07 Using Object Prototypes
08 Using Classes
09 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
18 Lesson Overview
19 Encapsulation and Information Hiding
20 Privacy Levels
21 Using the Meta-Closure Approach
22 Managing Isolated Private Members
23 A Definitive Solution with WeakMap
24 Using Property Descriptors Part-1
25 Using Property Descriptors Part-2
26 Implementing Information Hiding in ES6 Classes
27 Lesson Summary
28 Lesson Overview
29 Implementing Inheritance
30 Objects and Prototypes
31 Prototype Chaining
32 Inheritance and Constructors
33 Using Class Inheritance
34 Overriding Methods
35 Overriding Properties
36 Protected Members
37 Implementing Multiple Inheritance
38 Creating and Using Mixins
39 Lesson Summary
40 Lesson Overview
41 Managing Dynamic Typing
42 Dynamic Data Types
43 Beyond the Instance Type
44 Contracts and Interfaces
45 Implementing Duck Typing
46 Defining a Private Function
47 A General Solution
48 Emulating Interfaces with Duck Typing
49 Demonstrating the Equivalent Version without ECMAScript 2015 Syntax
50 Multiple Interface Implementation
51 Comparing Duck Typing and Polymorphism
52 Lesson Summary
53 Lesson Overview
54 Creating Objects
55 Creating a Singleton
56 Mysterious Behavior of Constructors
57 Singletons
58 Implementing an Object Factory
59 The Abstract Factory
60 The Builder Pattern
61 Lesson Summary
62 Lesson Overview
63 Managing User Interfaces
64 Implementing Presentation Patterns
65 The Model-View-Controller Pattern
66 The Model-View-Presenter Pattern
67 The Model-View-ViewModel Pattern
68 Data Binding
69 Implementing Data Binding
70 Monitoring Changes
71 Hacking Properties
72 Setting up a Data Binding Relationship
73 Applying the Publish_Subscribe Pattern
74 Lesson Summary
75 Lesson Overview
76 Event Loop and Asynchronous Code
77 Events, Ajax, and Other Asynchronous Stuff
78 Writing Asynchronous Code
79 Issues of Asynchronous Code
80 Promises
81 Lesson Summary
82 Lesson Overview
83 Taking Control of the Global Scope
84 Creating Namespaces
85 Organizing Code with the Module Pattern
86 Augmentation
87 Composing Modules
88 Loading the Module
89 Module Loader Issues
90 Asynchronous Module Definition
91 Using the ECMAScript 2015 Modules
92 Lesson Summary