Adicionando Métodos a Interfaces
Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 43 de 73.
As interfaces do TypeScript permitem definir esses comportamentos incluindo assinaturas de métodos junto com as definições de propriedades.
Uma assinatura de método em uma interface especifica o nome de um método, seus parâmetros e seu tipo de retorno, sem fornecer a implementação real. Isso cria um contrato que qualquer objeto em conformidade com a interface deve cumprir:
interface Person {
name: string;
age: number;
greet(): string; // Assinatura do método
}
let user: Person = {
name: "Alice",
age: 30,
greet() {
return `Hello, I'm ${this.name}`;
}
};A assinatura do método greet(): string informa ao TypeScript que qualquer objeto que implemente a interface Person deve ter um método greet que não recebe parâmetros e retorna uma string. A implementação real pode variar entre diferentes objetos, mas a assinatura deve corresponder exatamente.
Desafio
FácilCrie uma interface chamada Calculator com as seguintes propriedades e métodos:
branddo tipostringmodeldo tipostringisScientificdo tipoboolean- método
addque recebe dois parâmetrosnumbere retorna umnumber - método
getInfoque não recebe parâmetros e retorna umastring
Crie uma interface chamada BankAccount com as seguintes propriedades e métodos:
accountNumberdo tipostringbalancedo tiponumberisActivedo tipoboolean- método
depositque recebe um parâmetronumbere retornavoid - método
getBalanceque não recebe parâmetros e retorna umnumber
Usando suas interfaces, crie as seguintes variáveis:
- Crie uma variável chamada
myCalculatordo tipoCalculatorcom brand"Casio", model"FX-991EX", isScientifictrue, um métodoaddque retorna a soma de seus dois parâmetros e um métodogetInfoque retorna"[brand] [model]" - Crie uma variável chamada
savingsAccountdo tipoBankAccountcom accountNumber"SAV-12345", balance1500, isActivetrue, um métododepositque adiciona o parâmetro ao balance e um métodogetBalanceque retorna o balance atual
Imprima as seguintes saídas em linhas separadas:
- Chame o método
getInfoemmyCalculatore imprima o resultado - Chame o método
addemmyCalculatorcom os argumentos15e27e imprima o resultado - Chame o método
getBalanceemsavingsAccounte imprima o resultado - Chame o método
depositemsavingsAccountcom o argumento250 - Chame o método
getBalanceemsavingsAccountnovamente e imprima o resultado - Imprima a propriedade
isScientificdemyCalculator
Experimente você mesmo
// TODO: Escreva seu código aqui
// Crie a interface Calculator com as propriedades e métodos necessários
// Crie a interface BankAccount com as propriedades e métodos necessários
// Crie a variável myCalculator do tipo Calculator
// Crie a variável savingsAccount do tipo BankAccount
// Imprima todas as saídas necessáriasEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Introdução ao TypeScript
1Primeiros Passos com TS
O que é TypeScript?Por que usar TypeScript?Seu Primeiro Código TypeScriptProcesso de Compilação e ErrosRecapitulação: Introdução ao TS4Trabalhando com Funções
Tipagem de Parâmetros e RetornosTipagem de Arrow FunctionsO Tipo de Retorno 'void'Parâmetros Opcionais com '?'Valores Padrão de ParâmetrosTipagem de Rest ParametersDefinindo Tipos de FunçõesRecapitulação: Criando Funções Tipadas2Tipos Principais
Tipos Básicos: str, num, booleanO Tipo 'any': Válvula de EscapeO Tipo 'unknown'Trabalhando com 'null' e 'undef'Inferência de Tipo na PráticaAnotações de Tipo ExplícitasRecapitulação: Prática de Tipos Principais5Tipos: Aliases, Uniões e Interseções
Aliases de Tipos para PrimitivosTipos de União ('|')Trabalhando com Tipos de UniãoTipos LiteraisTipos de Interseção ('&')Combinando Aliases de TiposRecapitulação: Combinações Avançadas de Tipos3Estrutura de Dados: Arrays e Tuplas
Arrays TipadosModificador 'readonly' para ArraysO que é uma Tupla?Declarando e Acessando TuplasDesestruturando TuplasTuplas ReadonlyArrays Tipados MultidimensionaisSpread Operator com ArraysRecapitulação: Arrays e Tuplas6Tipagem de Objetos e Interfaces
Anotações de Tipo de Objeto InlineType Aliases para ObjetosIntrodução a InterfacesInterfaces vs. Type AliasesProps Opcionais e ReadonlyEstendendo Interfaces e TiposAdicionando Métodos a InterfacesRecapitulação: Definindo Formatos de ObjetosPratique por conta própria: Compilador de JavaScript online