├── .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 |
--------------------------------------------------------------------------------