TypeScript
一.TypeScript的严格模式如何配置
1.找到tsconfig.json文件
2.将“strict”设置成true;将其改为严格模式,如会检查变量的隐式类型。
3.将“noImplicitAny”设置成true
4.将“strictNullChecks”设置成true
开启“strict”,3.4.可以不用开启。
从长远来看,开启严格模式有利于我们后期编写代码的规范性。
二.类型
1.数组类型
一般两种表示方法:① type[] ② Array<type> type 用来指定数组内的类型。
2.any类型
不希望某个特定值导致类型检查的错误,所使用。(但是一般情况下,我们开启严格模式会提示错误)
3.联合类型
例: let id = number | string;由两个或者多个组成的的类型,表示所附的值有可能是他们当中的任何一种。
(中间是由管道符隔开的)
类型别名: 如果有重复多次使用的联合类型或对象类型,可以将其定义成类型别名,在使用的地方,将其写成所声明的别名即可。
4.接口类型
例 : interface Point {
x: number,
y: number
}
(接口的用法与类型别名类似)
###### 接口的扩展
例 : interface Anmail {
name: string
}
interface Bear extends Anmail {
honey: number
}
意思是Bear 扩展了 Anmail 中的内容。
// 向现有类型添加字段
interface MyHome {
count: number
}
interface MyHome {
name: string
}
// 这样MyHome中就会有两个字段。
// 注意:用type不能进行字段的添加
5.枚举
enum Dirction {
up = 1,
down,
left,
right
}
console.log(Dirction.up) // 1
6bigint 和 symbol
// bigint 是指非常大的数
const oN: bigint = BigInt(100)
const another: bigint = 100n
// symbol 是指在全局唯一的 即使所声明的变量名一样,他俩也是不同的如下:
const firstName = Symbol("name")
const secondName = Symbol("name")
// firstName 不等于 secondName
…
三.类型断言
让变量的类型变得更具体或者不那么具体的用法(当我们不知道这个变量为什么类型的时候,我们可以将其断言成一个模糊的类型)
// 用法一
const MyCanvas = document.getElementById('my_ca') as HtmlCanvasElement
// 用法二
const MyCanvas = <HtmlCanvasElement>document.getElementById('my_ca')
真值缩小
**(较简单)**
Boolean('hello')
!!"word"
-- 这两个返回值都是 true--
in操作符缩小
instanceof缩小
格式:x instanceof Foo