JavaScript es un lenguaje que soporta tanto programación orientada a objeto como programación funcional. Sin embargo la sintaxis soportada para crear clases y objetos es cuanto menos "pobre", por no decir otra cosa. La versión 6 de ECMAScript mejora estos aspectos de forma significativa.
Declarando clases
A partir de ahora disponemos de la palabra reservada "class" que convertirá en algo mucho más natural la declaración de una clase.
"use strict"; class Persona { constructor(nombre) { this.nombre = nombre; } } var p1 = new Persona("Pedro"); console.log(p1.nombre);
Como se puede observar la sintaxis es mucho más amigable y similar a Java o C# . Se ha añadido también el soporte para constructores a través de la palabra reservada "constructor".
Añadiendo Setters y Getters
Facilita la definición de los métodos set/get es algo que también se echaba en falta.
"use strict"; class Persona { constructor(nombre,apellidos) { this._nombre = nombre; this._apellidos = apellidos; } get nombre(){ return this._nombre; } set nombre(nombre){ this._nombre = nombre; } get apellidos(){ return this._apellidos; } set apellidos(apellidos){ this._apellidos = apellidos; } } var p1 = new Persona("Pedro","Perez"); console.log(p1.nombre); console.log(p1.apellidos);
Creando métodos estáticos
A partir de ahora la creación de métodos estáticos se podrá realizar apoyándonos en "static".
class Persona { ............... static printHtml (objetoPersona){ return ""+ objetoPersona.nombre+","+ objetoPersona.apellidos+"
"; } } var p1 = new Persona("Pedro","Perez"); console.log(p1.nombre); console.log(p1.apellidos); console.log(Persona.printHtml(p1));
El resultado de todas estas operaciones lo podremos ver impreso en la consola:
Ver todos los comentarios en https://www.genbeta.com
VER 0 Comentario