forked from atralice/Curso.Prep.Henry
-
Notifications
You must be signed in to change notification settings - Fork 1
/
apuntes.org~
126 lines (75 loc) · 1.76 KB
/
apuntes.org~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
* Constructors , new
#+BEGIN_js
function Car(marca, cv, color) {
this.marca = marca;
this.cv = cv;
this.color = color;
}
var audi = new Car('audi', 1500, 'verde');
var renault = new Car('renault', 1234, 'azul');
console.log(renault)
//
function Car(marca, cv, color) {
this.marca = marca;
this.cv = cv;
this.color = color;
}
var audi = new Car('audi', 1500, 'verde');
var renault = new Car('renault', 1234, 'azul');
console.log(renault)
#+END_js
* Prototype
referencia a otro objeto llamado prototype, el prototype
del ejemplo anterior es Car
obj.__proto__
#+BEGIN_js
function Persona(nombre, apellido){
this.nombre = nombre || 'Juan';
this.apellido = apellido || 'Perez';
}
Persona.prototype,getNombre = function (){
return this.nombre + ' ' + this.apellido;
}
var toni = new Persona('Toni', 'Valencia');
var tincho = new Persona('Emi', 'Osorio');
var Fely = new Persona('Fely', 'Rozo');
toni.getNombre()
Fely.getNombre()
tincho.getNombre()
#+END_js
* Object.create y Pure Pototypal Inheritance
Object.create recibe un objeto como parametro
#+BEGIN_js
var persona = {
nombre: 'Defecto',
apellido: 'Defecto'
};
var toni = Object.create(persona);
console.log(toni)
console.log(toni.__proto__)
#+END_js
* ES6 y Clases (class)
#+BEGIN_js
class Persona {
constructor (nombre, apellido){
this.nombre = nombre,
this.apellido = apellido
}
saludar () {
console.log('Hola!' + this.nombre);
}
}
var toni = new Persona('Toni', 'Tralice');
toni.saludar();
#+END_js
#+BEGIN_js
class Empleado extends Persona {
constructor (nombre, apellido, empleo, sueldo){
super(nombre, apellido);
this.empleo = empleo;
this.sueldo = sueldo;
}
}
var toni = new Empleado('Toni'. 'Tralice', 'Profesor', 100);
toni.saludar();
#+END_js