Oie Diego, tudo bem com você?
Essas diferenças são por conta de serem linguagens de programação diferentes e por isso apresentam características diferentes, por exemplo o Java e o Kotlin são linguagens que precisam ser compiladas, já o JavaScript como o nome já diz, é um script, então ele precisa ser interpretado pelo navegador.
O Javascript inclusive possui 2 jeitos de criar uma classe, uma delas é com o "Object Literal" e a outra é uma maneira bem parecida com o Java e o Kotlin que é a partir de uma função de construção. Ambos os métodos criam objetos, mas geralmente são usados em finalidades diferentes.
Object Literal:
O objeto é criado a partir de um par de chaves "{}" e suas propriedades e métodos são todos públicos. Seu uso é recomendado em situações onde não podem existir mais de uma instância do objeto.
var object_literal = {
Moto: {
quantidadeRodas: 2,
},
};
Função de Construtor:
Um construtor é simplesmente uma função. Ela pode ser usada como uma função ou para instanciar um objeto utilizando a palavra reservada new. As funções construtoras são usadas para objetos que podem existir como múltiplas instâncias em uma mesma situação.
var constructor = {
Moto: function() {
this.quantidadeRodas = 2;
},
};
Caso tenha interesse em aprender mais, clique aqui para ver um artigo que aborda esse tema.
Espero que eu tenha ajudado, qualquer dúvida ou problema fico a disposição :)
Bons estudos!