无锡h5网站建设,做直播的网站,wordpress上传中文图片,如何在电脑上制作网页一 unknown: 未知类型
unknown: 未知类型是typescript 3.0 中引入的新类型。
1.1 所有类型的字面量都可以分配给unknown类型
unknown未知类型#xff0c;代表变量类型未知#xff0c;也就是可能为任意类型#xff0c;所以#xff0c; 所有类型的字面量都可以分配给unkno…一 unknown: 未知类型
unknown: 未知类型是typescript 3.0 中引入的新类型。
1.1 所有类型的字面量都可以分配给unknown类型
unknown未知类型代表变量类型未知也就是可能为任意类型所以 所有类型的字面量都可以分配给unknown类型。 这里声明一个unknown的变量先后为其赋值字符串、数字和对象类型的字面量取值都可以成功赋值。
let notSure: unknown sisterAn!// 可以被赋值任意类型
notSure sisterAn!
notSure 512
notSure { hello: () Hello sisterAn! }1.2 unknown 类型不允许给 any 或 unknown 以外的变量赋值
unknown 未知变量既然类型未知也就无法赋值给具体的某个类型unknown 未知变量不允许给 any 或 unknown 以外的变量赋值。
两个未知变量之间可以相互赋值。
let notSure: unknown 2
let notSure1: unknown HellonotSure notSure1未知变量和any变量可以相互赋值。
let notSure: unknown 2
let any1: any 12notSure any1
any1 notSure未知变量不可以为其他变量赋值
let notSure: unknown 2
let num: number 12notSure num
any1 notSure
num notSure // error: Type unknown is not assignable to type number.1.3 unknown 类型变量不可以执行具体类型的方法
unknown 类型变量不可以执行具体类型的方法即使它真的是这个类型除非你使用断言。
let notSure: unknown sisterAn
let num: number 12
notSure num
notSure.toLowerCase()
// error: Object is of type unknown.二 never永不存在的值
never类型表示的是那些永不存在的值的类型。
2.1 never执行中断的函数返回值类型
never通常用来指由于种种原因函数没有执行到最后导致不存在返回值的返回值 类型。 示例一抛出异常会直接中断程序运行这样程序就运行不到返回值那一步了即具有不可达的终点也就永不存在返回了
function error(msg: string): never {throw new Error(msg);
} **示例二死循环同样程序永远无法运行到函数返回值那一步即永不存在返回。
function loopForever(): never {while (true) {};
}2.2 never可以赋值给任何类型但是不能被赋值
never类型是任何类型的子类型也可以赋值给任何类型然而没有类型是never的子类型或可以赋值给never类型除了never本身之外。 即使 any也不可以赋值给never。
三 void函数无返回值
函数则无返回值或者返回 undefined。
function a(): number { // ERROR: 其声明类型不为 void 或 any 的函数必须返回值console.log(123)
}function a(): void {console.log(123)
}你只能为它赋予undefined和null。
let a: void 1 // ERROR: 不能将类型“number”分配给类型“void”
let a: void undefined四 any在编译时可选择地包含或移除类型检查
any实际上是跳过类型检查的过程所以允许你给它赋任意值也可以调用任意的方法。 相比较来说Object类型的变量只是允许你给它赋任意值 - 但是却不能够在它上面调用任意的方法。