mirror of
https://github.com/motajs/template.git
synced 2026-11-04 00:04:32 +08:00
docs(10-09): 引导式重写 src-tour、code-basics
- src-tour 以「该改哪个文件」引导,保留该不该改表、constant.ts,不含已弃用项 - code-basics 保持三段式与引导口吻,泛型比作类型的函数,保留 D-23 唯一外链
This commit is contained in:
1 parent
5ed2df4d29
commit
ea8e6f20c8
2 files changed
+23
-13
No files matched your search
@@ -1,9 +1,11 @@
|
||||
# 代码基础
|
||||
|
||||
即使你只懂一点代码,也能读懂并编写本引擎的大部分内容。本篇用尽量简短的方式,补齐写中级教程所需的最小语法与类型知识。如果你已有 JavaScript / TypeScript 基础,可以快速跳过对应小节。
|
||||
你不需要成为程序员,也能读懂并改写本引擎的大部分内容:真正会用到的语法并不多。本篇用尽量简短的方式,补齐写中级教程所需的最小语法与类型知识——即使你只懂一点代码,也能跟着走完。已有 JavaScript / TypeScript 基础的话,可以快速跳过对应小节。
|
||||
|
||||
## 一、简明语法
|
||||
|
||||
先认识四种最常见的写法:变量、函数、分支与循环、对象与数组。会用它们,就能表达大多数「让游戏做点什么」的需求。
|
||||
|
||||
### 变量
|
||||
|
||||
```ts
|
||||
@@ -56,7 +58,7 @@ hero.atk = hero.atk + 5;
|
||||
|
||||
## 二、模块与引入
|
||||
|
||||
一个文件就是一个模块。用 `export` 把内容暴露出去,用 `import` 从别的模块引入。在本引擎里,文件顶部的 `import` 必须紧挨在一起,中间不夹注释或空行。
|
||||
当代码变多,就要拆成多个文件。一个文件就是一个模块:用 `export` 把内容暴露出去,用 `import` 从别的模块引入。在本引擎里,文件顶部的 `import` 必须紧挨在一起,中间不夹注释或空行。
|
||||
|
||||
```ts
|
||||
// math.ts
|
||||
@@ -68,7 +70,7 @@ export const PI = 3.14;
|
||||
```
|
||||
|
||||
```ts
|
||||
// main.ts
|
||||
// app.ts
|
||||
import { add, PI } from './math';
|
||||
|
||||
add(1, PI);
|
||||
@@ -84,7 +86,7 @@ math.add(1, 2);
|
||||
|
||||
## 三、类型入门
|
||||
|
||||
TypeScript 在 JavaScript 之上增加了类型,用来描述「这份数据长什么样」。类型会在编写与编译阶段被检查,帮助你在运行之前就发现错误。
|
||||
TypeScript 在 JavaScript 之上增加了类型,用来描述「这份数据长什么样」。类型会在编写与编译阶段被检查,帮你在运行之前就发现错误。
|
||||
|
||||
### 基础类型
|
||||
|
||||
@@ -109,7 +111,7 @@ const hero: Hero = { hp: 100, atk: 10 };
|
||||
|
||||
### 泛型:类型的「函数」
|
||||
|
||||
普通函数接收**值**、返回**值**;泛型则接收**类型**、返回**类型**,可以把它理解成「类型的函数」。尖括号里的 `T` 是一个类型参数,调用时才确定具体是什么类型。
|
||||
如果觉得「类型」本身有点抽象,可以这样理解泛型:普通函数接收**值**、返回**值**;泛型则接收**类型**、返回**类型**,相当于一个「类型的函数」。尖括号里的 `T` 是一个类型参数,调用时才确定具体是什么类型。
|
||||
|
||||
```ts
|
||||
// T 是类型参数,取什么类型由调用时传入的值决定
|
||||
|
||||
Reference in new issue
Block a user