2
respostas

declarar com ou sem o NEW

Qual e a diferenca entre essas duas formas de declarar a variavel?

foto: FotoComponent = new FotoComponent();
foto: FotoComponent;
2 respostas

Boa noite Luan, não conheço a fundo o assunto mas arrisco a dizer que na primeira linha estamos criando um objeto e atribuindo a uma variável. Já na segunda linha estamos apenas com uma variável sem referencia.

Fez sentido pra ti?

Abraços e bons estudos

Oii Luan, é isto que o Guilherme falou!

foto: FotoComponent = new FotoComponent()

Aqui você está declarando um atributo foto, do tipo FotoComponent e atribuindo ao seu valor uma instância vazia de FotoComponent.

Se vc fazer no construtor um console.log(this.foto) ele vai retornar um FotoComponent vazio, algo como:

FotoComponent = {
    descricao: '',
    titulo: '',
    url: ''
}

...

foto: FotoComponent

Aqui você está declarando um atributo foto, do tipo FotoComponent.

Perceba que aqui, foto não tem um valor atribuído. Ou seja, se vc fazer no construtor um console.log(this.foto) ele vai retornar undefined.

Isso porque o Typescript segue os conceitos de orientação à objetos e tipos.

Espero ter ajudado! Bons estudos!

abraços!