2021年11月8日了,已经第四天了;
进展有点慢,但都还健康;
https://www.runoob.com/typescript/ts-tutorial.html

======================================
1、ts的安装,略过;
======================================
2、基础语法

首先TS是有类的,这是我最看重的语法之一,虽然其实js去模拟一个也不难,但是语言就是这样,有了这个关键字,思考起来也会流畅很多,而不至于写一堆模拟的语法
======================================
3、基础类型
TypeScript,所以其核心其实就是Type
- 任意类型any 声明为 any 的变量可以赋予任意类型的值。
- 数字类型number 双精度 64 位浮点值。它可以用来表示整数和分数。
- 字符串类型string 一个字符系列,使用单引号(')或双引号(")来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式。、
- 等等 。。。。。。。。。。
======================================
4、ts的变量声明
4.1 声明中可以带上类型
var score1:number = 50; var score2:number = 42.50
4.2 类型断言
类型断言可以用来手动指定一个值的类型,即允许变量从一种类型更改为另一种类型。
语法格式:
<类型>值
或:
值 as 类型
其实这个就类似于类型强转换
4.3 变量作用域
这个就略过了,var和let有区别,没功夫去仔细区分
======================================
5、Ts的运算符
没啥特别的
======================================
6、Ts的条件语句
if。。。else then,也没什么特别的,遇到问题再搜都ok
======================================
7、Ts的循环
for,for in,for of,用到时候再查都ok
======================================
8、Ts的函数
比较特别的是可以有带类型的参数,可选参数列表,可变参数列表等特殊形式
js一开始没考虑那么细,所以ts在这里把所有的形式都补充好了
默认参数与剩余参数,需要用到这些约束的时候,就用
匿名函数、构造函数、递归函数、Lambada函数
函数还可以实现重载(与C++一样,参数签名不同来区分)
所以TS的函数部分基本补全了,让js这边成为一个更强的函数语言;
======================================
8、Ts的Number
略,这个就是一个数值类的介绍;
======================================
9、Ts的String
略,这是个String类的介绍
======================================
10、Ts的数组
略。。。
======================================
11、Ts的Map
其实和js里的一样,但其实很少用
======================================
12、Ts的元组
类似于python吧,其实也用的少
======================================
13、Ts的联合类型
联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。
注意:只能赋值指定的类型,如果赋值其它类型就会报错。
创建联合类型的语法格式如下:
Type1|Type2|Type3
---------------------
这东西比较特殊,其它语言不常见

======================================
14、Ts的接口
这个东西很强大,和java的接口是一个东西,说白了是个模板

定义一个IPerson的接口,然后实现它

单继承,接口继承接口,然后实现

接口继承多个接口,然后实现它
还是很实用的一个功能,当然这东西似乎对js不可见,就是加强类型管理用的,让设计更加清晰,让语法检查很方便;
======================================
15、Ts的类

数据成员、构造函数、方法

类的继承,只支持单继承,可以实现父类私有方法的隐藏,但是可以无限制的单个继承下去

嘿嘿嘿,这是继承后最爽的一点,先调用父类的方法过程,然后再加入私货

静态字段或静态方法
这个和java一样

然后是成员保护,这个也基本都一样
public、protected、private

用类来实现接口
======================================
16、Ts的对象

这一节有点怪,其实我不是很喜欢这种风格
对象和js的也大同小异,有空了可以深入,不影响大局的一节;
======================================
16、Ts的命名空间
这个也是和js完全不同的东西了,其实是包管理了

======================================
16、Ts的模块

======================================
16、Ts的声明文件
就是d.ts那东西,模糊的知道它是干啥的,暂时用不到所以无所谓;我就不打算引别的库