JavaScript Desmitificado - Objetos
JavaScript Desmitificado - Objetos
CURSOS
SERIES
CMO LO HAGO
NOTCIAS
Publicidad
CURSOS / JAVASCRIPT
JavaScript Desmitificado:
Objetos
Dificultad: Aprendiz
Duracin: 30 min
Historia
Javascript apareci por primera vez al pblico como parte del explorador Netscape
Navigator 2.0 en 1996. Y luego, al ao siguiente, fue estandarizado por ECMA
International llamndolo ECMAScript.
Lo que conocemos como JavaScript hoy en da es una implementacin de la
especificacin de lenguaje ECMAScript, de la cual cambien derivan lenguajes como
ActionScript, JScript, TypeScript, etc.
La especificacin de ECMAScript cambia con el tiempo, introduciendo soluciones a
viejos problemas y soporte para nuevas tecnologas.
Javascript es un lenguaje de scripting y a la vez orientado a objetos, que aunque su
nombre incluye Java no tiene nada o poco que ver con el lenguaje Java, de hecho,
inicialmente iba a llamarse LifeScript, pero tras los acuerdos entre Sun Microsystems
y Netscape decidieron llamarlo JavaScript para mercadearlo como un complemento
de scripting del lenguaje Java.
A pesar de que inicialmente fue pensado como un lenguaje de scripting para
exploradores hoy podemos ver JavaScript del lado del servidor con Node.js
Entonces, como todo el mundo sabe JavaScript no voy a empezar esta serie
explicando cosas bsicas como crear variables, operaciones, condicionales o ciclos.
Vamos directo a lo que nos interesa.
Objetos
El enfoque orientado a objetos de JavaScript es un poco diferente al que podemos ver
en otros lenguajes que implementan el paradigma.
Existen tres maneras de hacer una instancia de un objeto en javascript:
A continuacin explico las diferencias de crear objetos con estas tres formas
diferentes.
Objetos literales
La forma literal es permite describir objetos de manera clara y compacta. Puedes
describir objetos entre llaves con propiedades separadas por comas. Esta forma no es
invocada explcitamente, es solo un atajo para usar el mtodo Object.create().
1
2
3
4
5
6
7
8
9
1
0
1
1
var card = {
name: 'Oscar'
};
var card2 = Object.create(Object.prototype, {
bar: {
name: 'Oscar'
} });
console.log(card.bar); // -> Oscar
console.log(card2.bar); // -> Oscar
Por ser tan simple la forma literal es que el constructor del objeto no puede ser
redefinido, de modo que no se puede definir un objeto cuyo prototipo sea diferente al
por defecto. Ya explicar lo que es el prototipo ms adelante.
2.
3.
4.
1
2
3
4
5
6
7
8
9
1
0
1
1
var Person = {
introduce: function(age) {
console.log( 'Hola, mi nombre es ' + this.name + ' y tengo ' + age + ' aos de edad');
}
};
var oscar = Object.create(Person, {
'name': {
value: 'Oscar'
}
});
1
2
1
oscar.introduce(26);
3
1
4
Extendiendo objetos
JavaScript es un lenguaje muy flexible. Permite agregar funciones y propiedades a
objetos de manera dinmica sin mucho esfuerzo.
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
Prototipos
Los prototipos permiten conectar entre si a los objetos. JavaScript usa una cadena de
prototipos, de manera que, cuando intentas hacer una referencia una propiedad, se
viaja a travs de la cadena hasta alcanzar la en la conexin correcta. Se puede
acceder al prototipo de un objeto de la siguiente manera:
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
Conclusin
En este tutorial he presentado los fundamentos de los objetos en JavaScript. Por
supuesto que todava se puede decir mucho ms sobre el tema, pero pasaramos das
hablando. Con esto es mas que suficiente para estar, como dicen, up and running
con el paradigma POO en JavaScript.
Dudas o comentarios pueden ser dejados en la seccin correspondiente ms abajo.
Si te ha gustado esta publicacin, ayudamos compartindola en tus redes sociales
favoritas.
Saludos.