1
resposta

Por qual motivo não se declara as variáveis dentro de uma classe?

Dentro de C#, que eu entendo que seja uma linguagem fortemente tipada, a gente criar uma classe quase que por si só como uma variável, estabelece as variáveis e, a partir daí, desenvolve vários constructors para situações diferentes, além dos seus respectivos "métodos". Aqui, no JS, o que mais me confundiu a cabeça, é que eu não vi nenhuma declaração. A classe já vai direto pro pau. Céus! Cadê a declaração das variáveis? Rsrsrsrsrsrsrsrs.

class Negociação{ constructor(data, quantidade, valor){ this.data = new Date(date.setTime()), this.quantidade = quantidade, this.valor = valor } }

1 resposta

Não sei como é no C#, mas ao menos no Javascript vc n declara variáveis dentro da classe pq as propriedades da classe já são as "variáveis" da classe e essas "variáveis" são utilizadas dentro da classe no construtor e nos métodos.

Classe em Javascript

class Teste {
    //As propriedades nome e idade são as "variáveis" da classe Teste
   nome;
   idade;
}

A questão de fazer vários construtores para situações diferentes não é possível no Javascript, mas no Java, por exemplo, isso é possível

Classe em Java

public class Teste {
    String nome;
    int idade;

    //Construtor para quando eu n passar nada
    Teste() {
        this.nome = "João";
        this.idade = 12;
    }

    //Construtor para quando eu passar o nome
    Teste(String nome) {
        this.nome = nome;
        this.idade = 15;
    }

    //Construtor para quando eu passar o nome e a idade
    Teste(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }

    public static void main(String[] args) {
        Teste t1 = new Teste();
        Teste t2 = new Teste("Paulo");
        Teste t3 = new Teste("Ricardo", 25);

        System.out.println(t1.nome + "  idade: " + t1.idade);
        System.out.println(t2.nome + "  idade: " + t2.idade);
        System.out.println(t3.nome + "  idade: " + t3.idade);
    }
}