estou aprendendo JavaScript e no código está assim
chao = {
y: 550,
altura: 50,
cor:"#ffdf70",desenha: function(){ ctx.fillStyle = this.cor; ctx.fillRect(0, this.y, LARGURA, this.altura); }
isso seria uma classe em java script ? se não oque ?
estou aprendendo JavaScript e no código está assim
chao = {
y: 550,
altura: 50,
cor:"#ffdf70",desenha: function(){ ctx.fillStyle = this.cor; ctx.fillRect(0, this.y, LARGURA, this.altura); }
isso seria uma classe em java script ? se não oque ?
Não é uma classe.
Uma classe, em linguagens class-based, representa um modelo através do qual é possível criar objetos semelhantes (instancias daquela classe).
Seu código mostra apenas uma das formas de se criar um objeto em Javascript, a forma literal. Veja mais aqui:
Diferente de uma classe, no seu exemplo, chao é um objeto, uma instancia única.
Para saber mais sobre classes em JS, veja:
mas nos exemplos em que olhei tem a palavra “var”, e nesse meu código não, e quando fui colocar a palavra var o código não funcionou.
A palavra var nada tem a ver com classes ou objetos. Ela serve apenas para declarar variáveis explicitamente.
Este link pode ajudar: http://blog.alura.com.br/entenda-diferenca-entre-var-let-e-const-no-javascript/
Olá, essa estrutura de dados na verdade é um JSON, que aparentemente ta sendo usado como uma classe. É um modo que acho feio de implementar classes mas também funciona, prefiro usando function, se vc for olhar o código de uma classe gerado pelo compilador do typescript, verá que ele implementa usando function.
Não podemos confundir.
O exemplo mostrado é a forma literal de se criar um objeto em Javascript (um objeto, não uma classe).
Criar um objeto a partir de uma função construtora (como vc mencionou) é uma outra forma válida.
A diferença entre usar a forma literal e usar uma função construtora é que a forma literal cria um objeto único que não pode gerar instancias. Já a função age como uma espécie de classe permitindo criar várias instancias dela.
JSON, por outro lado, é um formato de arquivo de texto que é baseado num subconjunto do Javascript (daí o nome).