Recapitulação: Definindo Formatos de Objetos
Parte da seção Introdução ao TypeScript do Journey de JavaScript da Coddy. Lição 44 de 73.
Desafio
FácilCrie uma interface chamada Computer com as seguintes propriedades e métodos:
iddo tiponumber(somente leitura)branddo tipostringramInGBdo tiponumber(opcional)isLaptopdo tipoboolean- método
bootque não recebe parâmetros e retornavoid
Crie uma interface chamada Server com as seguintes propriedades e métodos:
hostnamedo tipostring(somente leitura)operatingSystemdo tipostringmaxConnectionsdo tiponumber(opcional)isOnlinedo tipoboolean- método
restartque não recebe parâmetros e retornavoid - método
getStatusque não recebe parâmetros e retorna umastring
Usando suas interfaces, crie as seguintes variáveis:
- Crie uma variável chamada
workstationdo tipoComputercom id1001, brand"Dell", ramInGB16, isLaptopfalsee um métodobootque imprime"Dell workstation is booting up..." - Crie uma variável chamada
laptopdo tipoComputercom id1002, brand"MacBook", isLaptoptruee um métodobootque imprime"MacBook laptop is starting..." - Crie uma variável chamada
webServerdo tipoServercom hostname"web-01", operatingSystem"Ubuntu", maxConnections1000, isOnlinetrue, um métodorestartque imprime"Restarting web-01 server..."e um métodogetStatusque retorna"web-01 is online"
Crie uma função chamada checkComputerSpecs que aceita um parâmetro do tipo Computer e retorna uma string. A função deve retornar a marca e o tipo do computador no formato "[brand] [laptop/desktop]" (use "laptop" se isLaptop for true; caso contrário, use "desktop").
Crie uma função chamada getServerInfo que aceita um parâmetro do tipo Server e retorna uma string no formato "[hostname] runs [operatingSystem]".
Imprima as seguintes saídas em linhas separadas:
- Chame o método
bootemworkstation - Chame o método
bootemlaptop - Chame
checkComputerSpecscomworkstatione imprima o resultado - Chame
checkComputerSpecscomlaptope imprima o resultado - Chame o método
getStatusemwebServere imprima o resultado - Chame
getServerInfocomwebServere imprima o resultado - Imprima o id de
workstation - Chame o método
restartemwebServer
Experimente você mesmo
// TODO: Escreva seu código aqui
// Crie a interface Computer com as propriedades e métodos necessários
// Crie a interface Server com as propriedades e métodos necessários
// Crie as variáveis workstation, laptop e webServer
// Crie as funções checkComputerSpecs e getServerInfo
// Imprima todas as saídas necessáriasTodas 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: Playground de TypeScript