Soy un principiante en Javascript y no entendía el concepto de variables o métodos estáticos dentro de Class. No entiendo por qué y cuándo los necesitamos y cuál es el caso de uso para ellos. por ejemplo esta clase
class Car { constructor(name) { this.name = name; } static hello() { return "Hello!!"; } }OOP (clases incluidas) se agregó recientemente a JavaScript y, en mi opinión, es más como azúcar sintáctico que nos permite estructurar nuestros datos más fácilmente, o quizás solo por la satisfacción de usar la new palabra clave. Estas funciones de programación orientada a objetos se adaptaron de otros lenguajes, como Java.
Los métodos estáticos permiten que otras partes de su código accedan a variables y métodos de una clase sin crear una instancia de la misma (sin usar la new palabra clave).
Esto es especialmente útil cuando desea recuperar datos de una clase sin crear una instancia o inicializar el constructor.
Tomemos, por ejemplo, un ejemplo del mundo real de componentes web:
class WhyStatic { /* other methods... */ static get observedAttributes() { return ["name", "why", "test"]; } }Esto permite que la función de elementos personalizados acceda a los atributos observados de un elemento HTML sin crear una instancia adicional.
En otras palabras, podemos crear datos específicos que no sean de instancia para una clase a la que se accede desde fuera, y solo desde fuera, de una instancia de clase.
Es por eso que necesitamos static en programación orientada a objetos.