Coder Social home page Coder Social logo

desafio-ts's Introduction

DESAFIO TYPESCRIPT

Use esse espaço para responder às questões teóricas:

Instruções

Para executar o projeto, primeiro rode o comando: npm i para baixar as dependências do projeto.

A função uuidv4 serve apenas para gerar uma string que será usada como o id quando necessário.

Para compilar e rodar o projeto você primeiro deve executar o comando npx tsc para transformar os arquivos .ts em .js. Depois disso, os arquivos compilados estarão na pasta dist. Para executar, basta executar o seguinte comando: node ./dist/index.js.

Decerto algumas dúvidas irão surgir. Não se desespere, tome um ar, tente resolver com calma as questões, e, caso se veja sem saída, peça ajuda :).

Questões teóricas

  • O que exatamente é o Typescript?

  • Descreva os tipos básicos do Typescript.

  • O que é uma interface?

  • O que é uma classe?

  • O que é a herança?

  • Quais as vantagens de usar o Typescript ao invés de somente o Javascript?

Questões práticas

  • Agora que você é bem familiarizado com o Typescript, vamos criar um simples projeto:
    Primeiro, clone o repositório anexado em sua máquina; Como deve ter notado, na pasta src temos uma pasta model e um arquivo index.js. Por enquanto apenas guarde essas informações;

  • Comece pelo arquivo users.js na pasta models. Nele, você deverá adicionar tipagem para as funções e também para o user. Antes de mais nada renomeie o arquivo para users.ts. Um user possui os seguintes atributos: id, name, age e email. Use de seu conhecimento na criação de interfaces para resolver esta questão;

  • Agora, indo para o arquivo bankAccount.js na pasta models, você deverá adicionar tipagem para as funções e também para a bankAccount. Como na questão anterior, renomeie o arquivo para bankAccount.ts. Nessa questão você deverá identificar quais são os atributos da bankAccount de acordo com o que há disponível nas funções. De novo, use seus conhecimentos sobre interfaces e typescript para resolver a questão.

  • Após ter feito a tipagem dos arquivos da pasta models é hora de resolver os erros do arquivo index.js. Comece trocando sua extensão para index.ts. Você logo verá que alguns erros estão acontecendo. Antes não seria possível identificá-los, pois nenhum dos arquivos possuía tipagem. O que você precisa fazer agora é basicamente corrigir os erros de acordo com o que o intellisense do seu editor de códigos indicar.

  • Com os erros resolvidos, precisamos apenas testar o código e executar a função de withdraw e a função de deposit da bankAccount. Para isso, primeiro deposite a quantia de 1000 unidades monetárias (um) e faça um saque de 200um. Para verificar se deu tudo certo, use a função getBankAccountInfo e dê um console.log na conta obtida.

Desafio extra

  • Refatore o projeto, mas usando classes para criar os users e as bankAccounts;

desafio-ts's People

Contributors

caiulucas avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.