01 2020 档案

摘要:1、交叉类型 将多个类型合并成一个类型,新的类型将具有所有类型的特性,适用于对象混用 语法: 类型1 & 类型2 & 类型3 interface CatInterface { run(): void } interface DogInterface { jump(): void } // 交叉类型具 阅读全文
posted @ 2020-01-29 23:29 rogerwu 阅读(1137) 评论(0) 推荐(0) 编辑
摘要:一、类型兼容性 ts 允许类型兼容的变量相互赋值,这个特性增加了语言的灵活性 当一个 类型Y 可以被赋值给另一个 类型X 时,就可以说类型X兼容类型Y。其中,X被称为“目标类型”,Y被称为“源类型” X兼容Y : X(目标类型) = Y(源类型) 1、结构之间兼容:成员少的兼容成员多的 基本规则是, 阅读全文
posted @ 2020-01-19 10:48 rogerwu 阅读(2994) 评论(0) 推荐(0) 编辑
摘要:1、什么是泛型? 不预先确定的数据类型,具体的类型在使用的时候才能确定 function log<T>(value: T) { return value; } // 调用方式 log<string[]>(['a', 'b']) // 还可以根据类型推断省略掉类型的参数 log(['a', 'b']) 阅读全文
posted @ 2020-01-16 15:40 rogerwu 阅读(587) 评论(0) 推荐(0) 编辑
摘要:1、es类 vs ts类 相同点:类成员的属性都是实例属性,而不是原型属性;类成员的方法都是原型方法 不同点:ts 中类成员的属性必须有初始值,或者是在构造函数中被初始化 class Dog { constructor(name: string) { this.name = name; } name 阅读全文
posted @ 2020-01-14 23:03 rogerwu 阅读(502) 评论(0) 推荐(0) 编辑
摘要:1、强类型语言与弱类型语言 (1)、强类型语言 通俗定义:强类型语言不允许改变变量的数据类型,除非进行强制类型转换 在强类型语言中,当一个对象从调用函数传递到被调用函数时,其类型必须与被调用函数中声明的类型兼容 (2)、弱类型语言 在弱类型语言中,变量可以被赋予不同的数据类型 let x = 1; 阅读全文
posted @ 2020-01-14 15:58 rogerwu 阅读(814) 评论(0) 推荐(0) 编辑
摘要:1、函数的定义方式(4种) // (1)、命名函数 function add1(x: number, y: number): number { return x + y; } // (2)、匿名函数 let add2:(x: number, y: number) => number = functi 阅读全文
posted @ 2020-01-14 15:53 rogerwu 阅读(467) 评论(0) 推荐(0) 编辑
摘要:接口可以用来约束对象、函数以及类的结构和类型,这是一种代码协作的契约,调用该接口时必须遵守,不能改变 ts与其它语言不同的是,并没有 “实现” 接口这个概念,而是只关注值的外形,只要传入的对象满足上面的必要条件,那么它就是被允许的。这就是所谓的“鸭式辩型法”(像鸭子一样走路、游泳和嘎嘎叫的鸟就是鸭子 阅读全文
posted @ 2020-01-14 11:16 rogerwu 阅读(739) 评论(0) 推荐(0) 编辑
摘要:枚举(Enum)是一个命名元素的集合,用于取值被限定在一定范围内的场景。 作用:将程序中不容易记忆的硬编码,或者是在未来会发生改变的常量抽取出来,定义成枚举类型,以此来提高程序的可读性和可维护性 语法: enum 枚举类名 { 枚举成员1, 枚举成员2, 枚举成员3... ... 枚举成员n; } 阅读全文
posted @ 2020-01-10 16:05 rogerwu 阅读(1267) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示