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?