Me encontré con la idea de que, sinceramente, nunca tuve que usar class ni constructor todo este tiempo y comencé a preguntarme si hay casos en los que debería usarlos. Por ejemplo, los códigos a continuación son básicamente iguales, excepto que uno usa el constructor y el otro no.
Usando constructor:
function Food(foodName, foodPrice) { Currencies.call(this, foodPrice); this.category = 'food'; this.name = foodName; } function Currencies(usd) { this.usd = usd; this.won = +usd * 1000; } const pizza = new Food('pizza', 30); // { usd: 30, won: 30000, category: 'food', name: 'pizza' } const burger = new Food('burger', 10); // { usd: 30, won: 30000, category: 'food', name: 'pizza' }No usar constructor
function food(foodName, foodPrice) { return { name: foodName, category: 'food', ...(currencies(foodPrice)) } } function currencies(usd) { return { usd, won: usd * 1000 } } const pizza = food('pizza', 30); // { usd: 30, won: 30000, category: 'food', name: 'pizza' } const burger = food('burger', 10); // { usd: 30, won: 30000, category: 'food', name: 'pizza' }Para mí, no usar el constructor parece un poco más simple, así que evitaría usarlo AMAP. Que prefieres y porque? ¿Y cuándo exactamente decide usar el constructor en lugar de la función "regular"?
Un constructor le permite escribir métodos en el propio objeto, lo que no puede hacer sin un constructor. Además de eso, puede proporcionar una inicialización personalizada que debe realizarse antes de que se pueda llamar a cualquier otro método en un objeto instanciado. También puede heredar de una clase a otra usando el operador de extends . Esto le ahorra tiempo de volver a escribir lo mismo una y otra vez y proporciona un mejor y más fácil control sobre sus objetos.
Consulte el siguiente enlace para obtener más información: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor