SlideShare a Scribd company logo
1 of 73
Object-Oriented
JavaScript



     Learn More @ http://www.learnnowonline.com
        Copyright © by Application Developers Training Company
Objectives




      Learn More @ http://www.learnnowonline.com
         Copyright © by Application Developers Training Company
Objectives
• Learn about the various ways to create
  new objects with JavaScript




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Objectives
• Learn about the various ways to create
  new objects with JavaScript
• Explore how you can create custom
  constructors to instantiate multiple
  objects of the same class




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Introduction to
Object-Oriented JavaScript




        Learn More @ http://www.learnnowonline.com
           Copyright © by Application Developers Training Company
Introduction to
Object-Oriented JavaScript
• Possible to build sophisticated
  frameworks




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Introduction to
Object-Oriented JavaScript
• Possible to build sophisticated
  frameworks
  • jQuery for general Web development




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Introduction to
Object-Oriented JavaScript
• Possible to build sophisticated
  frameworks
  • jQuery for general Web development
• OOP uses abstraction to create models
  of real objects




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Introduction to
Object-Oriented JavaScript
• Possible to build sophisticated
  frameworks
  • jQuery for general Web development
• OOP uses abstraction to create models
  of real objects
  • Store own data and state




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Introduction to
Object-Oriented JavaScript
• Possible to build sophisticated
  frameworks
  • jQuery for general Web development
• OOP uses abstraction to create models
  of real objects
  • Store own data and state
  • Receive messages




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Introduction to
Object-Oriented JavaScript
• Possible to build sophisticated
  frameworks
  • jQuery for general Web development
• OOP uses abstraction to create models
  of real objects
  • Store own data and state
  • Receive messages
  • Interact with other objects


          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Agenda




     Learn More @ http://www.learnnowonline.com
         Copyright © by Application Developers Training Company
Agenda
• Introduction to Object-Oriented
  JavaScript




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Agenda
• Introduction to Object-Oriented
  JavaScript
• Creating JavaScript Objects




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Agenda
• Introduction to Object-Oriented
  JavaScript
• Creating JavaScript Objects
• Custom Object Constructors




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Creating JavaScript Objects




       Learn More @ http://www.learnnowonline.com
          Copyright © by Application Developers Training Company
Creating JavaScript Objects
• Number of ways to create custom
  objects




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Creating JavaScript Objects
• Number of ways to create custom
  objects
• Customer object




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Creating JavaScript Objects
• Number of ways to create custom
  objects
• Customer object
  • Properties to record data like ID, name,
   location




          Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Creating JavaScript Objects
• Number of ways to create custom
  objects
• Customer object
  • Properties to record data like ID, name,
   location
    • Some direct properties, others getter/setters




           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Creating JavaScript Objects
• Number of ways to create custom
  objects
• Customer object
  • Properties to record data like ID, name,
   location
    • Some direct properties, others getter/setters
  • Override Object.toString




           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Creating JavaScript Objects
• Number of ways to create custom
  objects
• Customer object
  • Properties to record data like ID, name,
   location
    • Some direct properties, others getter/setters
  • Override Object.toString
  • Method to record sales



           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Using the Object Constructor




      Learn More @ http://www.learnnowonline.com
         Copyright © by Application Developers Training Company
Using the Object Constructor
• Use Object constructor with new
  keyword




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Using the Object Constructor
• Use Object constructor with new
  keyword
  • Creates a new object that inherits from
   Object




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Using the Object Constructor
• Use Object constructor with new
  keyword
  • Creates a new object that inherits from
    Object
  • No arguments: new object




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Using the Object Constructor
• Use Object constructor with new
  keyword
  • Creates a new object that inherits from
    Object
  • No arguments: new object
  • Primitive type argument: create new
    Number, Boolean, or String object



          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Using an Object Literal




       Learn More @ http://www.learnnowonline.com
          Copyright © by Application Developers Training Company
Using an Object Literal
• Notable differences from Object
  constructor technique:




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Using an Object Literal
• Notable differences from Object
  constructor technique:
  • Single statement




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Using an Object Literal
• Notable differences from Object
  constructor technique:
  • Single statement
     var customer = { };




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Using an Object Literal
• Notable differences from Object
  constructor technique:
  • Single statement
     var customer = { };
  • Adding properties




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Using an Object Literal
• Notable differences from Object
  constructor technique:
  • Single statement
     var customer = { };
  • Adding properties
  • Defining getters and setters




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Creating an Object Hierarchy
with Prototypes




        Learn More @ http://www.learnnowonline.com
           Copyright © by Application Developers Training Company
Creating an Object Hierarchy
with Prototypes
• Can use customer as a prototype for
  other objects




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Creating an Object Hierarchy
with Prototypes
• Can use customer as a prototype for
  other objects
  • New objects inherit properties of the base
   object




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Creating an Object Hierarchy
with Prototypes
• Can use customer as a prototype for
  other objects
  • New objects inherit properties of the base
    object
  • Called the prototype of the new objects




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Creating an Object Hierarchy
with Prototypes
• Can use customer as a prototype for
  other objects
  • New objects inherit properties of the base
    object
  • Called the prototype of the new objects
  • Set of objects with same prototype is a
    class



          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Object Identity




       Learn More @ http://www.learnnowonline.com
          Copyright © by Application Developers Training Company
Object Identity
• Can use the isPrototypeOf method




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Object Identity
• Can use the isPrototypeOf method
  • See whether one object has another as its
   prototype




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Agenda




     Learn More @ http://www.learnnowonline.com
         Copyright © by Application Developers Training Company
Agenda
• Introduction to Object-Oriented
  JavaScript




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Agenda
• Introduction to Object-Oriented
  JavaScript
• Creating JavaScript Objects




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Agenda
• Introduction to Object-Oriented
  JavaScript
• Creating JavaScript Objects
• Custom Object Constructors




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Custom Object Constructors




      Learn More @ http://www.learnnowonline.com
         Copyright © by Application Developers Training Company
Custom Object Constructors
• Constructor is a function that
  initializes an object




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Custom Object Constructors
• Constructor is a function that
  initializes an object
  • Used with the new keyword




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Custom Object Constructors
• Constructor is a function that
  initializes an object
  • Used with the new keyword
     • This actually creates the object




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Custom Object Constructors
• Constructor is a function that
  initializes an object
  • Used with the new keyword
     • This actually creates the object
• Constructor’s prototype object
  becomes prototype of new object




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Custom Object Constructors
• Constructor is a function that
  initializes an object
  • Used with the new keyword
     • This actually creates the object
• Constructor’s prototype object
  becomes prototype of new object
  • So all objects created with the constructor
    share prototypes


            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Custom Object Constructors
• Constructor is a function that
  initializes an object
  • Used with the new keyword
     • This actually creates the object
• Constructor’s prototype object
  becomes prototype of new object
  • So all objects created with the constructor
    share prototypes
     • So all are members of the same class


            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Creating a New Constructor
Prototype Object




        Learn More @ http://www.learnnowonline.com
           Copyright © by Application Developers Training Company
Creating a New Constructor
Prototype Object
• Sample modified constructor’s default
  prototype object




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Creating a New Constructor
Prototype Object
• Sample modified constructor’s default
  prototype object
• Alternatively, can create a whole new
  object




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Creating a New Constructor
Prototype Object
• Sample modified constructor’s default
  prototype object
• Alternatively, can create a whole new
  object
  • Slightly cleaner code




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Creating a New Constructor
Prototype Object
• Sample modified constructor’s default
  prototype object
• Alternatively, can create a whole new
  object
  • Slightly cleaner code
     • Implement as single statement




           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Creating a New Constructor
Prototype Object
• Sample modified constructor’s default
  prototype object
• Alternatively, can create a whole new
  object
  • Slightly cleaner code
     • Implement as single statement
     • Cleaner syntax




           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Dynamically Changing the Prototype
of a Class




         Learn More @ http://www.learnnowonline.com
            Copyright © by Application Developers Training Company
Dynamically Changing the Prototype
of a Class
 • Benefit of using a prototype is you can
   dynamically change it




          Learn More @ http://www.learnnowonline.com
             Copyright © by Application Developers Training Company
Dynamically Changing the Prototype
of a Class
 • Benefit of using a prototype is you can
   dynamically change it
   • Automatically changes all objects in the
    class




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Dynamically Changing the Prototype
of a Class
 • Benefit of using a prototype is you can
   dynamically change it
   • Automatically changes all objects in the
     class
   • Object inherits from prototype even when
     prototype subsequently changes




           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Dynamically Changing the Prototype
of a Class
 • Benefit of using a prototype is you can
   dynamically change it
   • Automatically changes all objects in the
     class
   • Object inherits from prototype even when
     prototype subsequently changes
   • Can even modify prototypes of built-in
     objects


           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Object Identity with
Constructors




        Learn More @ http://www.learnnowonline.com
           Copyright © by Application Developers Training Company
Object Identity with
Constructors
 • instanceof operator




           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company
Object Identity with
Constructors
 • instanceof operator
   • Determine whether an object is an instance
    created by a constructor




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Object Identity with
Constructors
 • instanceof operator
   • Determine whether an object is an instance
     created by a constructor
   • Operands




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Object Identity with
Constructors
 • instanceof operator
   • Determine whether an object is an instance
     created by a constructor
   • Operands
     • Object to test




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Object Identity with
Constructors
 • instanceof operator
   • Determine whether an object is an instance
     created by a constructor
   • Operands
     • Object to test
     • Constructor object to test against




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Object Identity with
Constructors
 • instanceof operator
   • Determine whether an object is an instance
     created by a constructor
   • Operands
     • Object to test
     • Constructor object to test against
   • Pass anything as first operand, but second
    must be a function object




            Learn More @ http://www.learnnowonline.com
               Copyright © by Application Developers Training Company
Object Identity with
Constructors
 • instanceof operator
   • Determine whether an object is an instance
     created by a constructor
   • Operands
      • Object to test
      • Constructor object to test against
   • Pass anything as first operand, but second
     must be a function object
 • Reinforce the idea that constructors are
   the public identity of a class of objects


             Learn More @ http://www.learnnowonline.com
                Copyright © by Application Developers Training Company
Learn More!




       Learn More @ http://www.learnnowonline.com
          Copyright © by Application Developers Training Company
Learn More!
• This is an excerpt from a larger course. Visit
  www.learnnowonline.com for the full details!




           Learn More @ http://www.learnnowonline.com
              Copyright © by Application Developers Training Company

More Related Content

Similar to Object-Oriented JavaScript

SharePoint Document Management
SharePoint Document ManagementSharePoint Document Management
SharePoint Document ManagementLearnNowOnline
 
Managing site collections
Managing site collectionsManaging site collections
Managing site collectionsLearnNowOnline
 
Bring a Web Page Alive with jQuery
Bring a Web Page Alive with jQueryBring a Web Page Alive with jQuery
Bring a Web Page Alive with jQueryLearnNowOnline
 
Building Windows 8 Metro Style Applications Using JavaScript and HTML5
Building Windows 8 Metro Style Applications Using JavaScript and HTML5Building Windows 8 Metro Style Applications Using JavaScript and HTML5
Building Windows 8 Metro Style Applications Using JavaScript and HTML5LearnNowOnline
 
Introducing the Entity Framework
Introducing the Entity FrameworkIntroducing the Entity Framework
Introducing the Entity FrameworkLearnNowOnline
 
What's new in Silverlight 5
What's new in Silverlight 5What's new in Silverlight 5
What's new in Silverlight 5LearnNowOnline
 
WPF: Working with Data
WPF: Working with DataWPF: Working with Data
WPF: Working with DataLearnNowOnline
 
Object oriented techniques
Object oriented techniquesObject oriented techniques
Object oriented techniquesLearnNowOnline
 
KnockOutJS with ASP.NET MVC
KnockOutJS with ASP.NET MVCKnockOutJS with ASP.NET MVC
KnockOutJS with ASP.NET MVCLearnNowOnline
 
Attributes, reflection, and dynamic programming
Attributes, reflection, and dynamic programmingAttributes, reflection, and dynamic programming
Attributes, reflection, and dynamic programmingLearnNowOnline
 
New in the Visual Studio 2012 IDE
New in the Visual Studio 2012 IDENew in the Visual Studio 2012 IDE
New in the Visual Studio 2012 IDELearnNowOnline
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCLearnNowOnline
 
SQL: Permissions and Data Protection
SQL: Permissions and Data ProtectionSQL: Permissions and Data Protection
SQL: Permissions and Data ProtectionLearnNowOnline
 
.NET Variables and Data Types
.NET Variables and Data Types.NET Variables and Data Types
.NET Variables and Data TypesLearnNowOnline
 
.Net branching and flow control
.Net branching and flow control.Net branching and flow control
.Net branching and flow controlLearnNowOnline
 
Getting Started with .NET
Getting Started with .NETGetting Started with .NET
Getting Started with .NETLearnNowOnline
 

Similar to Object-Oriented JavaScript (20)

SharePoint Document Management
SharePoint Document ManagementSharePoint Document Management
SharePoint Document Management
 
The Entity Data Model
The Entity Data ModelThe Entity Data Model
The Entity Data Model
 
Managing site collections
Managing site collectionsManaging site collections
Managing site collections
 
Bring a Web Page Alive with jQuery
Bring a Web Page Alive with jQueryBring a Web Page Alive with jQuery
Bring a Web Page Alive with jQuery
 
Web API Basics
Web API BasicsWeb API Basics
Web API Basics
 
Building Windows 8 Metro Style Applications Using JavaScript and HTML5
Building Windows 8 Metro Style Applications Using JavaScript and HTML5Building Windows 8 Metro Style Applications Using JavaScript and HTML5
Building Windows 8 Metro Style Applications Using JavaScript and HTML5
 
Introducing the Entity Framework
Introducing the Entity FrameworkIntroducing the Entity Framework
Introducing the Entity Framework
 
What's new in Silverlight 5
What's new in Silverlight 5What's new in Silverlight 5
What's new in Silverlight 5
 
WPF: Working with Data
WPF: Working with DataWPF: Working with Data
WPF: Working with Data
 
Object oriented techniques
Object oriented techniquesObject oriented techniques
Object oriented techniques
 
KnockOutJS with ASP.NET MVC
KnockOutJS with ASP.NET MVCKnockOutJS with ASP.NET MVC
KnockOutJS with ASP.NET MVC
 
Attributes, reflection, and dynamic programming
Attributes, reflection, and dynamic programmingAttributes, reflection, and dynamic programming
Attributes, reflection, and dynamic programming
 
New in the Visual Studio 2012 IDE
New in the Visual Studio 2012 IDENew in the Visual Studio 2012 IDE
New in the Visual Studio 2012 IDE
 
Generics
GenericsGenerics
Generics
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
SQL: Permissions and Data Protection
SQL: Permissions and Data ProtectionSQL: Permissions and Data Protection
SQL: Permissions and Data Protection
 
.NET Variables and Data Types
.NET Variables and Data Types.NET Variables and Data Types
.NET Variables and Data Types
 
.Net branching and flow control
.Net branching and flow control.Net branching and flow control
.Net branching and flow control
 
Getting Started with .NET
Getting Started with .NETGetting Started with .NET
Getting Started with .NET
 
slides.pptx
slides.pptxslides.pptx
slides.pptx
 

More from LearnNowOnline

SharePoint: Introduction to InfoPath
SharePoint: Introduction to InfoPathSharePoint: Introduction to InfoPath
SharePoint: Introduction to InfoPathLearnNowOnline
 
Sql 2012 development and programming
Sql 2012  development and programmingSql 2012  development and programming
Sql 2012 development and programmingLearnNowOnline
 
Expression Blend Motion & Interaction Design
Expression Blend Motion & Interaction DesignExpression Blend Motion & Interaction Design
Expression Blend Motion & Interaction DesignLearnNowOnline
 
Working with Controllers and Actions in MVC
Working with Controllers and Actions in MVCWorking with Controllers and Actions in MVC
Working with Controllers and Actions in MVCLearnNowOnline
 
Creating a User Interface
Creating a User InterfaceCreating a User Interface
Creating a User InterfaceLearnNowOnline
 

More from LearnNowOnline (8)

A tour of SQL Server
A tour of SQL ServerA tour of SQL Server
A tour of SQL Server
 
Introducing LINQ
Introducing LINQIntroducing LINQ
Introducing LINQ
 
SharePoint: Introduction to InfoPath
SharePoint: Introduction to InfoPathSharePoint: Introduction to InfoPath
SharePoint: Introduction to InfoPath
 
SQL Server: Security
SQL Server: SecuritySQL Server: Security
SQL Server: Security
 
Sql 2012 development and programming
Sql 2012  development and programmingSql 2012  development and programming
Sql 2012 development and programming
 
Expression Blend Motion & Interaction Design
Expression Blend Motion & Interaction DesignExpression Blend Motion & Interaction Design
Expression Blend Motion & Interaction Design
 
Working with Controllers and Actions in MVC
Working with Controllers and Actions in MVCWorking with Controllers and Actions in MVC
Working with Controllers and Actions in MVC
 
Creating a User Interface
Creating a User InterfaceCreating a User Interface
Creating a User Interface
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Object-Oriented JavaScript

  • 1. Object-Oriented JavaScript Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 2. Objectives Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 3. Objectives • Learn about the various ways to create new objects with JavaScript Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 4. Objectives • Learn about the various ways to create new objects with JavaScript • Explore how you can create custom constructors to instantiate multiple objects of the same class Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 5. Introduction to Object-Oriented JavaScript Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 6. Introduction to Object-Oriented JavaScript • Possible to build sophisticated frameworks Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 7. Introduction to Object-Oriented JavaScript • Possible to build sophisticated frameworks • jQuery for general Web development Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 8. Introduction to Object-Oriented JavaScript • Possible to build sophisticated frameworks • jQuery for general Web development • OOP uses abstraction to create models of real objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 9. Introduction to Object-Oriented JavaScript • Possible to build sophisticated frameworks • jQuery for general Web development • OOP uses abstraction to create models of real objects • Store own data and state Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 10. Introduction to Object-Oriented JavaScript • Possible to build sophisticated frameworks • jQuery for general Web development • OOP uses abstraction to create models of real objects • Store own data and state • Receive messages Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 11. Introduction to Object-Oriented JavaScript • Possible to build sophisticated frameworks • jQuery for general Web development • OOP uses abstraction to create models of real objects • Store own data and state • Receive messages • Interact with other objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 12. Agenda Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 13. Agenda • Introduction to Object-Oriented JavaScript Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 14. Agenda • Introduction to Object-Oriented JavaScript • Creating JavaScript Objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 15. Agenda • Introduction to Object-Oriented JavaScript • Creating JavaScript Objects • Custom Object Constructors Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 16. Creating JavaScript Objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 17. Creating JavaScript Objects • Number of ways to create custom objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 18. Creating JavaScript Objects • Number of ways to create custom objects • Customer object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 19. Creating JavaScript Objects • Number of ways to create custom objects • Customer object • Properties to record data like ID, name, location Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 20. Creating JavaScript Objects • Number of ways to create custom objects • Customer object • Properties to record data like ID, name, location • Some direct properties, others getter/setters Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 21. Creating JavaScript Objects • Number of ways to create custom objects • Customer object • Properties to record data like ID, name, location • Some direct properties, others getter/setters • Override Object.toString Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 22. Creating JavaScript Objects • Number of ways to create custom objects • Customer object • Properties to record data like ID, name, location • Some direct properties, others getter/setters • Override Object.toString • Method to record sales Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 23. Using the Object Constructor Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 24. Using the Object Constructor • Use Object constructor with new keyword Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 25. Using the Object Constructor • Use Object constructor with new keyword • Creates a new object that inherits from Object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 26. Using the Object Constructor • Use Object constructor with new keyword • Creates a new object that inherits from Object • No arguments: new object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 27. Using the Object Constructor • Use Object constructor with new keyword • Creates a new object that inherits from Object • No arguments: new object • Primitive type argument: create new Number, Boolean, or String object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 28. Using an Object Literal Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 29. Using an Object Literal • Notable differences from Object constructor technique: Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 30. Using an Object Literal • Notable differences from Object constructor technique: • Single statement Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 31. Using an Object Literal • Notable differences from Object constructor technique: • Single statement var customer = { }; Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 32. Using an Object Literal • Notable differences from Object constructor technique: • Single statement var customer = { }; • Adding properties Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 33. Using an Object Literal • Notable differences from Object constructor technique: • Single statement var customer = { }; • Adding properties • Defining getters and setters Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 34. Creating an Object Hierarchy with Prototypes Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 35. Creating an Object Hierarchy with Prototypes • Can use customer as a prototype for other objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 36. Creating an Object Hierarchy with Prototypes • Can use customer as a prototype for other objects • New objects inherit properties of the base object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 37. Creating an Object Hierarchy with Prototypes • Can use customer as a prototype for other objects • New objects inherit properties of the base object • Called the prototype of the new objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 38. Creating an Object Hierarchy with Prototypes • Can use customer as a prototype for other objects • New objects inherit properties of the base object • Called the prototype of the new objects • Set of objects with same prototype is a class Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 39. Object Identity Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 40. Object Identity • Can use the isPrototypeOf method Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 41. Object Identity • Can use the isPrototypeOf method • See whether one object has another as its prototype Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 42. Agenda Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 43. Agenda • Introduction to Object-Oriented JavaScript Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 44. Agenda • Introduction to Object-Oriented JavaScript • Creating JavaScript Objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 45. Agenda • Introduction to Object-Oriented JavaScript • Creating JavaScript Objects • Custom Object Constructors Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 46. Custom Object Constructors Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 47. Custom Object Constructors • Constructor is a function that initializes an object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 48. Custom Object Constructors • Constructor is a function that initializes an object • Used with the new keyword Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 49. Custom Object Constructors • Constructor is a function that initializes an object • Used with the new keyword • This actually creates the object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 50. Custom Object Constructors • Constructor is a function that initializes an object • Used with the new keyword • This actually creates the object • Constructor’s prototype object becomes prototype of new object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 51. Custom Object Constructors • Constructor is a function that initializes an object • Used with the new keyword • This actually creates the object • Constructor’s prototype object becomes prototype of new object • So all objects created with the constructor share prototypes Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 52. Custom Object Constructors • Constructor is a function that initializes an object • Used with the new keyword • This actually creates the object • Constructor’s prototype object becomes prototype of new object • So all objects created with the constructor share prototypes • So all are members of the same class Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 53. Creating a New Constructor Prototype Object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 54. Creating a New Constructor Prototype Object • Sample modified constructor’s default prototype object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 55. Creating a New Constructor Prototype Object • Sample modified constructor’s default prototype object • Alternatively, can create a whole new object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 56. Creating a New Constructor Prototype Object • Sample modified constructor’s default prototype object • Alternatively, can create a whole new object • Slightly cleaner code Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 57. Creating a New Constructor Prototype Object • Sample modified constructor’s default prototype object • Alternatively, can create a whole new object • Slightly cleaner code • Implement as single statement Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 58. Creating a New Constructor Prototype Object • Sample modified constructor’s default prototype object • Alternatively, can create a whole new object • Slightly cleaner code • Implement as single statement • Cleaner syntax Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 59. Dynamically Changing the Prototype of a Class Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 60. Dynamically Changing the Prototype of a Class • Benefit of using a prototype is you can dynamically change it Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 61. Dynamically Changing the Prototype of a Class • Benefit of using a prototype is you can dynamically change it • Automatically changes all objects in the class Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 62. Dynamically Changing the Prototype of a Class • Benefit of using a prototype is you can dynamically change it • Automatically changes all objects in the class • Object inherits from prototype even when prototype subsequently changes Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 63. Dynamically Changing the Prototype of a Class • Benefit of using a prototype is you can dynamically change it • Automatically changes all objects in the class • Object inherits from prototype even when prototype subsequently changes • Can even modify prototypes of built-in objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 64. Object Identity with Constructors Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 65. Object Identity with Constructors • instanceof operator Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 66. Object Identity with Constructors • instanceof operator • Determine whether an object is an instance created by a constructor Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 67. Object Identity with Constructors • instanceof operator • Determine whether an object is an instance created by a constructor • Operands Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 68. Object Identity with Constructors • instanceof operator • Determine whether an object is an instance created by a constructor • Operands • Object to test Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 69. Object Identity with Constructors • instanceof operator • Determine whether an object is an instance created by a constructor • Operands • Object to test • Constructor object to test against Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 70. Object Identity with Constructors • instanceof operator • Determine whether an object is an instance created by a constructor • Operands • Object to test • Constructor object to test against • Pass anything as first operand, but second must be a function object Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 71. Object Identity with Constructors • instanceof operator • Determine whether an object is an instance created by a constructor • Operands • Object to test • Constructor object to test against • Pass anything as first operand, but second must be a function object • Reinforce the idea that constructors are the public identity of a class of objects Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 72. Learn More! Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company
  • 73. Learn More! • This is an excerpt from a larger course. Visit www.learnnowonline.com for the full details! Learn More @ http://www.learnnowonline.com Copyright © by Application Developers Training Company

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. DEMO – rest of section\n
  25. DEMO – rest of section\n
  26. DEMO – rest of section\n
  27. DEMO – rest of section\n
  28. DEMO – rest of section\n
  29. DEMO – rest of section\n
  30. DEMO – rest of section\n
  31. DEMO – rest of section\n
  32. DEMO – rest of section\n
  33. DEMO – rest of section\n
  34. DEMO – rest of section\n
  35. DEMO – rest of section\n
  36. DEMO – rest of section\n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. DEMO – Creating an Object Constructor section\n
  43. DEMO – Creating an Object Constructor section\n
  44. DEMO – Creating an Object Constructor section\n
  45. DEMO – Creating an Object Constructor section\n
  46. DEMO – Creating an Object Constructor section\n
  47. DEMO – Creating an Object Constructor section\n
  48. DEMO – rest of section\n
  49. DEMO – rest of section\n
  50. DEMO – rest of section\n
  51. DEMO – rest of section\n
  52. DEMO – rest of section\n
  53. DEMO – rest of section\n
  54. DEMO – rest of section\n
  55. DEMO – rest of section\n
  56. DEMO – rest of section\n
  57. DEMO – rest of section\n
  58. DEMO – rest of section\n
  59. DEMO – rest of section\n
  60. DEMO – rest of section\n
  61. DEMO – rest of section\n
  62. DEMO – rest of section\n
  63. DEMO – rest of section\n
  64. DEMO: rest of section\n