nem mesmo uma classe é uma classe.
Tem um erro conceitual ai, OOP não é ter classes! Uma maneira usada para facilitar OOP é ter class.
JS é OOP mas não precisa de classes para ser OOP. O maior problema do que ensinam por ai é que OOP = classes.
Introduziram classes para que programadores acostumados com essa forma de OOP pudessem entrar em JS sem ter que aprender sobre OOP prototipico Que é uma maneira diferente de se pensar.
E programador não gosta de aprender algo muito diferente kkkkk
Um grande problema que sempre percebo é que features de java viram conceitos de OOP. As features que Java ou C# possuem facilitam o OOP delas. Mas não definem o que é OOP.
@manieiro aqui do Tabnews sempre diz que OOP de java é muito ruim e mal feito.
poo não é estritamente sobre classes porque também existe herança por prototipação, mas isso só existe no javascript e numa linguagem morta da xerox criada nos anos 80.
mas é interessante como introduziram a palavra "class" em javascript, não? por que o fizeram? não é um erro conceitual meu. em javascript existe class que por baixo dos panos não é class, literalmente com o nome class.
as linguagens mais tradicionais que suportam este paradigma não se aproximaram do javascript, mas javascript a cada atualização traz mais syntax sugars e conceitos pra se aproximar dessas linguagens. a última atualização recebeu itens relacionados a encapsulamento, o que já é muito maduro em java e c#, por exemplo, há décadas.
se é pra aprender poo, por que aprender primeiro em uma linguagem que tem muitas particularidades neste paradigma, ao invés de aprender em linguagens mais comumente utilizadas no mercado com este paradigma e cujos conceitos são comuns entre elas?