1 Star 0 Fork 0

江山录 / ts+react井字棋游戏

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

井字棋游戏

TS + REACT

npm start

npm test

npm run build

npm run eject

总结

概念部分

TypeScript 是可选的,静态的类型系统

  • 为什么需要类型系统

要构建大型的应用,会涉及大量的函数和接口, 如果没有类型检查,会产生大量的调式成功。 类型系统可以降低调式成本,从而降低开放成本。

  • 可选的

TS 是 JS 的超集,JS 的所有功能都能够在 TS 中使用,增加的部分是类型系统。

  • 静态的

TS 代码 -> 编译 -> JS 代码

如何约束类型

变量、函数、参数的返回值

基本类型

  • 基本类型:boolean、number、string、object、Array、void、never、null 和 undefined
  • null 和 undefined 可以赋值给任何类型。如果要更严格的控制,可以在 tsconfig 中配置 strict 为 true,与 strictNullChecks 为 true。开启后 null 和 undefined 就只能是自己的类型了。

字面量类型

字面量类型 配合 联合类型使用,达到类似于枚举的效果

对象字面量可以更加细化的约束一个对象。

let gender: "" | "";
type User = {
  name: string;
  age: number;
};

扩展类型

扩展类型:类型别名,枚举,接口,类

类型别名,接口,不产生编译结果。 枚举,类,产生编译结果,枚举->编译->对象,TS 类->JS 类 TS 类中多了:

  • 属性列表,
  • 修饰符(readonly)。
  • 访问修饰符(public、private、protected)

枚举:约束了类型值选择范围。

类型别名和接口的区别?

泛型:

简单理解就是类型变量; 可以在使用时,在给功能函数赋值类型;

类型兼容性

鸭子辨型法 :就是根据对象的特征进行分辨。 子结构辨型法:

  • 基本类型:完全匹配
  • 对象类型:鸭子辨型法,字面量对象直接传递时,会有严格的类型检测。
  • 函数类型:参数数量可以少,但不可以多。要求返回必须返回,不要求返回,你随意。

类型断言

类型断言:开发者非常清楚某个东西的类型, 但 TS 不清楚。开发者就可以通过 as 直接告诉 TS 类型。 一般用在第三方插件。

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/panws/ts-react-tache-chess-game.git
git@gitee.com:panws/ts-react-tache-chess-game.git
panws
ts-react-tache-chess-game
ts+react井字棋游戏
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891