Simulando metodos de negociacao de financeira:
Benefícios da tipagem estática
export class Negociacao {
private _data: Date;
private _quantidade: number;
private _valor: number;
constructor(data: Date, quantidade: number, valor: number) {
this._data = data;
this._quantidade = quantidade;
this._valor = valor;
}
Importância dos modificadores de acesso *Private* e *Public* e a Tipagem nos metodos.
Arrays
import { Negociacao } from './negociacao.js';
export class Negociacoes {
private negociacoes: Array<Negociacao> = [];
adiciona(negociacao: Negociacao) {
this.negociacoes.push(negociacao);
}
lista(): ReadonlyArray<Negociacao> {
return this.negociacoes;
}
}
tipo *Generic* e *ReadonlyArray*
lista(): ReadonlyArray <Negociacao> {
return this.negociacoes;
lista(): readonly Negociacao[] {
return this.negociacoes;
Utilizando o metodo readonly como tipagem de maneira mais simplificada.
constructor(data: Date, quantidade: number, valor: number) {
this._data = data;
this._quantidade = quantidade;
this._valor = valor;
constructor(
private _data: Date,
private _quantidade: number,
private _valor: number
) {}
Utilizando o modificador private diretamente no construtor, simplificando e tipando os parametros.