├── .gitignore ├── HelloTypeScript.js ├── HelloTypeScript.ts ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | lerna-debug.log* 10 | 11 | # Diagnostic reports (https://nodejs.org/api/report.html) 12 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 13 | 14 | # Runtime data 15 | pids 16 | *.pid 17 | *.seed 18 | *.pid.lock 19 | 20 | # Directory for instrumented libs generated by jscoverage/JSCover 21 | lib-cov 22 | 23 | # Coverage directory used by tools like istanbul 24 | coverage 25 | *.lcov 26 | 27 | # nyc test coverage 28 | .nyc_output 29 | 30 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 31 | .grunt 32 | 33 | # Bower dependency directory (https://bower.io/) 34 | bower_components 35 | 36 | # node-waf configuration 37 | .lock-wscript 38 | 39 | # Compiled binary addons (https://nodejs.org/api/addons.html) 40 | build/Release 41 | 42 | # Dependency directories 43 | node_modules/ 44 | jspm_packages/ 45 | 46 | # Snowpack dependency directory (https://snowpack.dev/) 47 | web_modules/ 48 | 49 | # TypeScript cache 50 | *.tsbuildinfo 51 | 52 | # Optional npm cache directory 53 | .npm 54 | 55 | # Optional eslint cache 56 | .eslintcache 57 | 58 | # Microbundle cache 59 | .rpt2_cache/ 60 | .rts2_cache_cjs/ 61 | .rts2_cache_es/ 62 | .rts2_cache_umd/ 63 | 64 | # Optional REPL history 65 | .node_repl_history 66 | 67 | # Output of 'npm pack' 68 | *.tgz 69 | 70 | # Yarn Integrity file 71 | .yarn-integrity 72 | 73 | # dotenv environment variables file 74 | .env 75 | .env.test 76 | 77 | # parcel-bundler cache (https://parceljs.org/) 78 | .cache 79 | .parcel-cache 80 | 81 | # Next.js build output 82 | .next 83 | out 84 | 85 | # Nuxt.js build / generate output 86 | .nuxt 87 | dist 88 | 89 | # Gatsby files 90 | .cache/ 91 | # Comment in the public line in if your project uses Gatsby and not Next.js 92 | # https://nextjs.org/blog/next-9-1#public-directory-support 93 | # public 94 | 95 | # vuepress build output 96 | .vuepress/dist 97 | 98 | # Serverless directories 99 | .serverless/ 100 | 101 | # FuseBox cache 102 | .fusebox/ 103 | 104 | # DynamoDB Local files 105 | .dynamodb/ 106 | 107 | # TernJS port file 108 | .tern-port 109 | 110 | # Stores VSCode versions used for testing VSCode extensions 111 | .vscode-test 112 | 113 | # yarn v2 114 | .yarn/cache 115 | .yarn/unplugged 116 | .yarn/build-state.yml 117 | .yarn/install-state.gz 118 | .pnp.* 119 | 120 | ### JetBrains template 121 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider 122 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 123 | 124 | # User-specific stuff 125 | .idea/**/workspace.xml 126 | .idea/**/tasks.xml 127 | .idea/**/usage.statistics.xml 128 | .idea/**/dictionaries 129 | .idea/**/shelf 130 | 131 | # Generated files 132 | .idea/**/contentModel.xml 133 | 134 | # Sensitive or high-churn files 135 | .idea/**/dataSources/ 136 | .idea/**/dataSources.ids 137 | .idea/**/dataSources.local.xml 138 | .idea/**/sqlDataSources.xml 139 | .idea/**/dynamic.xml 140 | .idea/**/uiDesigner.xml 141 | .idea/**/dbnavigator.xml 142 | 143 | # Gradle 144 | .idea/**/gradle.xml 145 | .idea/**/libraries 146 | 147 | # Gradle and Maven with auto-import 148 | # When using Gradle or Maven with auto-import, you should exclude module files, 149 | # since they will be recreated, and may cause churn. Uncomment if using 150 | # auto-import. 151 | # .idea/artifacts 152 | # .idea/compiler.xml 153 | # .idea/jarRepositories.xml 154 | # .idea/modules.xml 155 | # .idea/*.iml 156 | # .idea/modules 157 | # *.iml 158 | # *.ipr 159 | 160 | # CMake 161 | cmake-build-*/ 162 | 163 | # Mongo Explorer plugin 164 | .idea/**/mongoSettings.xml 165 | 166 | # File-based project format 167 | *.iws 168 | 169 | # IntelliJ 170 | out/ 171 | 172 | # mpeltonen/sbt-idea plugin 173 | .idea_modules/ 174 | 175 | # JIRA plugin 176 | atlassian-ide-plugin.xml 177 | 178 | # Cursive Clojure plugin 179 | .idea/replstate.xml 180 | 181 | # Crashlytics plugin (for Android Studio and IntelliJ) 182 | com_crashlytics_export_strings.xml 183 | crashlytics.properties 184 | crashlytics-build.properties 185 | fabric.properties 186 | 187 | # Editor-based Rest Client 188 | .idea/httpRequests 189 | 190 | # Android studio 3.1+ serialized cache file 191 | .idea/caches/build_file_checksums.ser 192 | 193 | .idea/ 194 | -------------------------------------------------------------------------------- /HelloTypeScript.js: -------------------------------------------------------------------------------- 1 | function greeter(person) { 2 | return "Hello, " + person; 3 | } 4 | console.log(greeter('TypeScript')); 5 | -------------------------------------------------------------------------------- /HelloTypeScript.ts: -------------------------------------------------------------------------------- 1 | function greeter(person: string) { 2 | return "Hello, " + person; 3 | } 4 | 5 | console.log(greeter('TypeScript')); 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 jasonkayzk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # **TypeScript Learn** 2 | 3 | A repo to learn TypeScript. 4 | 5 | 6 | 7 | ## **学习视频** 8 | 9 | - [尚硅谷2021版TypeScript教程(李立超老师TS新课)](https://www.bilibili.com/video/BV1Xy4y1v7S2?p=6) 10 | 11 | 12 | 13 | ## **学习进度** 14 | 15 | | **学习内容** | **更新时间** | **备注** | 16 | | ------------------------------------------------------------ | ------------ | --------------------------------------------------- | 17 | | [TypeScript中的基本类型](https://github.com/JasonkayZK/typescript_learn/tree/1-type) | 2020-12-20 | | 18 | | [编译选项](https://github.com/JasonkayZK/typescript_learn/tree/2-compile-options) | 2020-12-21 | | 19 | | [TypeScript打包](https://github.com/JasonkayZK/typescript_learn/tree/3-webpack) | 2020-12-21 | Webpack整合
Babel整合 | 20 | | [面向对象](https://github.com/JasonkayZK/typescript_learn/tree/4-OOP) | 2020-12-21 | class、构造器、继承
supuer、抽象类、封装
| 21 | | [接口](https://github.com/JasonkayZK/typescript_learn/tree/5-interface) | 2020-12-21 | | 22 | | [泛型](https://github.com/JasonkayZK/typescript_learn/tree/6-generic) | 2020-12-21 | | 23 | | [贪吃蛇练习](https://github.com/JasonkayZK/typescript_learn/tree/greedy-snake) | 2020-12-22 | | 24 | | | | | 25 | 26 | 27 | 28 | ## **其他学习** 29 | 30 | - [TypeScript 入门教程](https://ts.xcatliu.com/) 31 | - [深入理解 TypeScript](https://jkchao.github.io/typescript-book-chinese/) 32 | - [TS官方文档](https://www.tslang.cn/docs/home.html) 33 | - [TS与各框架整合官方案例](https://www.tslang.cn/samples/index.html) 34 | 35 | 36 | 37 | ## **学习项目** 38 | 39 | | 项目名称 | 更新时间 | 项目简介 | 40 | | ------------------------------------------------------------ | ---------- | ------------------------------------------------------------ | 41 | | [greedy-snake](https://github.com/JasonkayZK/typescript_learn/tree/greedy-snake) | 2020-12-22 | 贪吃蛇练习:TS + Webpck + Babel + Less | 42 | | [elevator](https://github.com/JasonkayZK/typescript-learn/tree/elevator) | 2022-08-22 | 简单的电梯升降项目:TS + React + Vite | 43 | | [mock-protobuf.js](https://github.com/JasonkayZK/mock-protobuf.js) | 2022-09-02 | Mock Protobuf的 Cli 工具:TS + Node + protobufjs + commander + … | 44 | | | | | 45 | 46 | 47 | ## **练习题** 48 | 49 | - [Level TypeScript](https://type-level-typescript.com/) 50 | 51 | 52 | --------------------------------------------------------------------------------