javascript: the prototype property
DESCRIPTION
TRANSCRIPT
JavaScript The prototype Property
Thursday, November 1, 12
Brief
What’s OOP?
JavaScript OOP
Prototype
Inheritance
Thursday, November 1, 12
What’s OOP?Introducir a OOP
Presentar el vocabulario
Thursday, November 1, 12
Object Oriented Programming
Thursday, November 1, 12
Programming paradigm
Thursday, November 1, 12
Data abstraction
Encapsulation
Messaging
Modularity
Polymorphism
Inheritance
Thursday, November 1, 12
Use object based on the real world
Thursday, November 1, 12
Class vs Object
Thursday, November 1, 12
Class
A Class defines Objects
Properties
An object characteristic, such as color
Methods
An object capability, such as walk
Thursday, November 1, 12
Objects
A instance of a Class
Share properties and behavior
Unique
Thursday, November 1, 12
Class
Thursday, November 1, 12
Class
Object1
Thursday, November 1, 12
Class
Object1 Object2
Thursday, November 1, 12
Class
Object1 Object2 Object3
Thursday, November 1, 12
Exercise
Thursday, November 1, 12
JavaScript OOPAplicar JavaScript OOP
Thursday, November 1, 12
JavaScript is a prototypal language
Thursday, November 1, 12
Prototype-based programming
Class free
Classes are not present
Not Object Oriented
Everything is public
Objects inherits from another objects
Thursday, November 1, 12
Objects in JavaScript
Thursday, November 1, 12
Everything is an object
Thursday, November 1, 12
Everything is an object
Arrays
ArraysThursday, November 1, 12
Everything is an object
Arrays
Arrays
Dates
Thursday, November 1, 12
Everything is an object
Arrays
Objects
Arrays
Dates
Thursday, November 1, 12
Everything is an object
Arrays
Objects
Arrays
Dates
Strings
Thursday, November 1, 12
Everything is an object
Arrays
Objects
Arrays
Numbers
Dates
Strings
Thursday, November 1, 12
They have methods and properties
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Custom Objects
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Not reuse
Thursday, November 1, 12
Not reuse
Unique
Thursday, November 1, 12
Not reuse
Unique
Singleton Pattern
Thursday, November 1, 12
Exercise
Thursday, November 1, 12
Constructors
Thursday, November 1, 12
Constructor
Functions
Classes
Create diferents instances ==> Objects
Use new operator
Accepts parameters
Returns an instance ==> Object
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Constructor
Has properties and methods
length
constructor
apply()
call()
prototype
Thursday, November 1, 12
Thursday, November 1, 12
Prototype
Thursday, November 1, 12
Prototype
A property
Defines properties and methods to all instances
Works with new operator
Stored in the memory once
Contain an Object
initial value === empty Object === {}
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Inheritance
Thursday, November 1, 12
Inheritance
A new “class” is created from another “class”
Extends functionality
Defines new attributes and methods
A way to reuse code
All Object inherit from Object.prototype
12+ ways to inherits in JS
Thursday, November 1, 12
Prototype ChainingPseudo-clasical
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Thursday, November 1, 12
Inherited
Thursday, November 1, 12
Inherited
Thursday, November 1, 12
Own
Thursday, November 1, 12
The End
Thursday, November 1, 12