编辑
2023-03-24
TypeScript
0
请注意,本文编写于 534 天前,最后修改于 515 天前,其中某些信息可能已经过时。

目录

类型基础铺垫
类型注解
说明
Eg
强类型语言与弱类型语言
说明
强类型
弱类型
静态类型与动态类型
静态类型
动态类型
类型检查
静态类型检查
自动的类型判断机制
解构赋值
属性重命名
展开
展开对象

类型基础铺垫

类型注解

说明

通过在变量或函数后添加类型进行约束

Eg

let a:number = 10 function name():string{}

强类型语言与弱类型语言

说明

类型系统按照「是否允许隐式类型转换」来分类,可以分为强类型和弱类型
类型系统按照「类型检查的时机」来分类,可以分为动态类型和静态类型

强类型

强类型语言不允许改变变量的数据类型,除非进行强制类型转换

弱类型

弱类型语言中,变量的值其类型是宽泛的,可以被赋值多种类型的值 TS

静态类型与动态类型

静态类型

指在编译阶段就会进行类型检查 TS

动态类型

指在运行时才会进行类型检查

类型检查

静态类型检查

指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,不符合则报错

自动的类型判断机制

变量声明和赋值同时进行时TS会自动判断变量的类型,可以省略类型声明

解构赋值

属性重命名

解构时重命名

let testobj= {a:"1",b:"2",c:"3"} let {a:a1,b:b1} = testobj console.log(a1,b1,typeof(a1),typeof(b1))//1 2 string string

若需要解构时约束其类型,需要在后面写上完整的模式

let testobj= {a:"1",b:"2",c:"3"} let {a:a2,b:b2}:{a:string,b:string} = testobj console.log(a2,b2,typeof(a2),typeof(b2))//1 2 string string

展开

展开对象

展开对象时仅包含自身的可枚举属性

class C { p = 12; m() { } } let c = new C(); let clone = { ...c }; clone.p; // ok clone.m(); // error!

本文作者:RKLS

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!