{"id":24901829,"url":"https://github.com/jonatasperaza/mytsc","last_synced_at":"2026-04-13T22:33:34.185Z","repository":{"id":252596748,"uuid":"840897853","full_name":"jonatasperaza/MyTsc","owner":"jonatasperaza","description":"A Simple Ts Tutorial","archived":false,"fork":false,"pushed_at":"2024-08-11T03:08:41.000Z","size":2,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T06:29:52.820Z","etag":null,"topics":["js","node","nodejs","nodets","ts","tsc","tutorial"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonatasperaza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-11T03:02:35.000Z","updated_at":"2024-08-11T03:08:43.000Z","dependencies_parsed_at":"2024-08-11T05:08:06.287Z","dependency_job_id":"82e600cd-f8c5-478f-bc84-9ed1cbe044e5","html_url":"https://github.com/jonatasperaza/MyTsc","commit_stats":null,"previous_names":["jonatasperaza/mytsc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jonatasperaza/MyTsc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatasperaza%2FMyTsc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatasperaza%2FMyTsc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatasperaza%2FMyTsc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatasperaza%2FMyTsc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonatasperaza","download_url":"https://codeload.github.com/jonatasperaza/MyTsc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatasperaza%2FMyTsc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31774028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["js","node","nodejs","nodets","ts","tsc","tutorial"],"created_at":"2025-02-01T21:17:59.158Z","updated_at":"2026-04-13T22:33:34.130Z","avatar_url":"https://github.com/jonatasperaza.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg width=100% src=\"https://capsule-render.vercel.app/api?type=waving\u0026color=e83d84\u0026height=120\u0026section=header\"/\u003e\n\n# My TypeScript\n\n## Conceitos Basicos\n\n- ### Tipagem Estática: \n\u003cp\u003eEm JavaScript, você pode declarar variáveis sem definir o tipo. Em TypeScript, você pode (e deve) definir o tipo da variável.\u003c/p\u003e\n\n```typescript\nlet idade: number = 17;\nlet nome: string = \"João\";\nlet estudante: boolean = true;\n```\n\n- ### Funções com tipos:\n\u003cp\u003eEm TypeScript, você também pode definir os tipos dos parâmetros e o tipo de retorno das funções.\u003c/p\u003e\n\n```typescript\nfunction somar(a: number, b: number): number {\n    return a + b;\n}\n\nconsole.log(somar(2, 3)); // Saída: 5\n```\n\n- ### Interfaces:\n\n\u003cp\u003eInterfaces permitem definir a estrutura de um objeto. Isso ajuda a garantir que um objeto tenha todas as propriedades esperadas.\u003c/p\u003e\n\n```typescript\ninterface Pessoa {\n    nome: string;\n    idade: number;\n    estudante: boolean;\n}\n\nconst joao: Pessoa = {\n    nome: \"João\",\n    idade: 17,\n    estudante: true\n};\n```\n\n- ### Classes:\n\n\u003cp\u003eTypeScript permite criar classes, que são como moldes para criar objetos com propriedades e métodos.\u003c/p\u003e\n\n```typescript\nclass Carro {\n    marca: string;\n    ano: number;\n\n    constructor(marca: string, ano: number) {\n        this.marca = marca;\n        this.ano = ano;\n    }\n\n    detalhes(): string {\n        return `${this.marca} - ${this.ano}`;\n    }\n}\n\nconst meuCarro = new Carro(\"Toyota\", 2020);\nconsole.log(meuCarro.detalhes()); // Saída: Toyota - 2020\n\n```\n\n\n- ### Modificadores de Acesso:\n\n\u003cp\u003eVocê pode usar public, private e protected para controlar o acesso às propriedades e métodos das classes.\u003c/p\u003e\n\n```typescript\nclass Animal {\n    private nome: string;\n\n    constructor(nome: string) {\n        this.nome = nome;\n    }\n\n    public falar(): void {\n        console.log(`${this.nome} está fazendo um som.`);\n    }\n}\n\nconst cachorro = new Animal(\"Rex\");\ncachorro.falar(); // Saída: Rex está fazendo um som.\n\n```\n\n- ### Arrays e Tipos Genéricos:\n\n\u003cp\u003eVocê pode criar arrays tipados e funções genéricas.\u003c/p\u003e\n\n```typescript\nlet numeros: number[] = [1, 2, 3, 4];\n\nfunction inverter\u003cT\u003e(itens: T[]): T[] {\n    return itens.reverse();\n}\n\nlet stringsInverted = inverter\u003cstring\u003e([\"a\", \"b\", \"c\"]); // Saída: [\"c\", \"b\", \"a\"]\n\n```\n\n\u003cdiv align=\"center\"\u003e\n\n![GitHub Repo stars](https://img.shields.io/github/stars/jonatasperaza/MyTsc?style=for-the-badge\u0026color=%23e83d84)\n\n\u003c/div\u003e\n\n\u003cimg style=\"margin-top:10px\" width=100% src=\"https://capsule-render.vercel.app/api?type=waving\u0026color=e83d84\u0026height=120\u0026section=footer\"/\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonatasperaza%2Fmytsc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonatasperaza%2Fmytsc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonatasperaza%2Fmytsc/lists"}