Introducción al Clean Code
Deuda técnica y refactorización de código
Reglas del diseño simple
Qué es Clean Code
Nombre y uso de las variables
Uso correcto de var, let y const
Reglas para la nomenclatura
Cómo nombrar según el tipo de dato
Ejercicio: Nombra correctamente según su tipo de dato
Ámbito de las variables
Ámbito global
Ámbito local o de función
Ámbito de bloque
Ámbito estático
Hoisting
Funciones
Declaración y expresión de funciones
Parámetros y argumentos
Funciones de flecha y el this
Clases
POO con ES6 (constructores, métodos y herencia)
Herencia en JavaScript
Tamaño reducido (responsabilidad única)
Organización
Optimizaciones
Cuándo usar comentarios
Formato coherente (codear en equipos)
Principio DRY
Notación big O
Cierre
Sigue aprendiendo JavaScript
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Alejandra Camacho
Aportes 7
Preguntas 1
Clase 16: POO con ES6 (constructores, métodos y herencia)
Clase
Ejemplo
//intaxis a partir de ES6:
class Cat {
constructor(cat) {
this.name = cat;
}
greet () {
return 'Hola! Mis dueñ@s me llaman ' + this.name;
}
}
const cat = new Cat("Michi");
// Antes de ES6
function Person(name) {
this.name = name;
}
var person = new Person("Alex");
console.log(person.name); //> Alex
En JS no existen las clases
, son azucar sintáctico para la herencia prototipal.
En esta clase se dice que con ES6 y las clases, el código es más limpio y fácil de entender. En mi opinión, los prototipos no son tan dificiles de entender y me parece una buena implementación.
Cuál es el problema? La mayoria de los programadores de JS venían del lenguaje Java. De hecho, por eso se llama JavaScript, para que los devs de Java pasaran a usar JS pensando que los dos lenguajes eran similares.
La verdad es que los dos lenguajes son diferentes, pero JS hizo grandes esfuerzos para que se pareciera los más posible a Java, por eso las funciones constructoras empiezan con el operador new
. Eso se parece a muchos más a Java.
Lo mismo con las clases. Como muchos lenguajes de programación utilizan la POO y ya hay un formato de pensamiento muy popular, era más fácil si JS se adaptaba a esa misma manera de sintaxis.
El constructor es un método especial que se utiliza para inicializar una nueva instancia de la clase.
class Cat {
constructor(cat) {
this.name = cat;
}
greet () {
return 'Hola! Mis dueñ@s me llaman ' + this.name;
}
}
const cat = new Cat("Michi");
los prototype son muy bonitos pero para eso llego ES6 aprender de aqui para atras no vale la pena prototype
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?