TypeScript
文章平均质量分 51
WJP丶
好好学习,好好工作
展开
-
TypeScript------>类的类型
类的类型§ 给类加上 TypeScript 的类型很简单,与接口类似: class Animal { name: string; constructor(name: string) { this.name = name; } sayHi(): string { return `My name is ${this.name}`; } } let a: Animal = new Animal('Jack'); console.log(a.sayHi()); // My原创 2021-03-31 18:49:01 · 96 阅读 · 0 评论 -
TypeScript------>类型保护
TypeScript能够在特定的区块中保证变量属于某种确定的类型。可以在此区块中放心的引用此类型的属性,或调用此类型的方法。 下面的例子中,因为我们不知道程序运行的时候到底会传入什么样的参数,所以必须在每一处加上类型断言,这显然不是一个理想的方案,代码可读性差,而类型保护就是用来解决这个问题的,它可以提前对类型进行怕判断 enum Type {Strong,Week} class Java{ helloJava(){ console.log("hello Java...原创 2021-03-31 18:48:08 · 118 阅读 · 0 评论 -
TypeScript------>类型兼容
当一个类型Y可以被赋值给另一个类型X时,我们就可以说类型X兼容类型Y ---------X兼容Y:X(目标类型)= Y(源类型) ts允许我们把一些类型不同的变量相互赋值(虽然再某种程度上讲产生了不可靠行为,但增加了语言的灵活性) 配置项"strictNullChecks":false, null就是字符串的子类型 let s:string = "123"; s = null 类型兼容性的例子广泛存在与接口,函数,类中 1.接口兼容性, 体现了ts的类型检查...原创 2021-03-31 16:26:29 · 133 阅读 · 1 评论 -
TypeScript------>类型断言
类型断言只会影响 TypeScript 编译时的类型,类型断言语句在编译结果中会被删除:所以类型断言不是类型转换,它不会真的影响到变量的类型。 类型断言的用途 将一个联合类型断言为其中一个类型 将一个父类断言为更加具体的子类 将任何一个类型断言为any 将any断言为一个具体的类型§ 类型断言的限制 联合类型可以被断言为其中一个类型 父类可以被断言为子类 任何类型都可以被断言为 any any 可以被断言为任何类型 要使得A能够被断言为B,只...原创 2021-03-30 17:24:25 · 135 阅读 · 0 评论 -
TypeScript------>类型推断
1.初始化一个变量 let a //any类型 let b = 1 //number类型 let c = [1] //number[] 类型 设置函数默认参数的时候 x被推断为number类型,函数d的返回值类型被推断为number类型 let d = (x=1)=> x+1 2.最佳通用类型推断 ---- 当需要从多个类型中推断出一个类型的时候,ts就会尽可能的推断出一个兼容当前所有类型的通用类型 number和null不兼容,所以c就会...原创 2021-03-30 16:29:45 · 133 阅读 · 0 评论 -
TypeScript------>泛型
泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。 很多时候我们希望一个函数或者一个类可以支持多种数据类型,有很大的灵活性 any类型丢失了一些信息,就是类型之间的约束关系,它忽略了函数的输入参数的类型和函数返回值的类型必须是一致的 泛型函数 function log<T>(value:T):T{ console.log(value); return value; } // 调用时直接指明T的类型 log&原创 2021-03-26 19:45:23 · 95 阅读 · 0 评论 -
TypeScript------>类与接口的关系
一个接口可以约束类成员有哪些属性,以及他们的类型 1. 类实现接口时,必须实现接口中声明的所有属性,类定义自己的属性就没问题 2.接口只能约束类的公有成员, 3.接口不能约束类的构造函数 interface Human{ name:string; eat():void; } class Wjp implements Human{ constructor(){ this.name = "lalala" } //private name:st.原创 2021-03-26 16:18:59 · 110 阅读 · 0 评论 -
TypeScript------>函数的类型
1:函数的声明 ( * 注意,输入多余的或者少于要求的参数,是不被允许的) function sum(x: number, y: number): number { return x + y; } 与接口中的可选属性类似,我们用?表示可选的参数 *注意可选参数必须接在必需参数后面。换句话说,可选参数后面不允许再出现必需参数了: function buildName(firstName: string, lastName?: string) { if (lastN...原创 2021-03-21 19:39:21 · 212 阅读 · 0 评论 -
TypeScript------>对象的类型 -- 接口
在 TypeScript 中,我们使用接口(Interfaces)来定义对象的类型。 什么是接口 在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。 TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。 例子1:我们定义了一个接口Person,接着定义了一个变量tom,它的类型是Person。这样,...原创 2021-03-19 19:17:08 · 190 阅读 · 0 评论