
TypeScript
文章平均质量分 95
liuhua_2323
星空不问赶路人,时光不负有心人
展开
-
TypeScript高级类型之条件类型
什么是条件类型含义:是一种由条件表达式所决定的类型;基本语法:TextendsU?X:Y 代表的含义为:如果类型T可以被赋值给类型U,那么就是X类型,否则就是Y类型;作用:条件类型使类型具有了不唯一性,增加了语言的灵活性。下面我们来看一个最基本的例子:type TypeName<T>= T extends string ? "string"...原创 2019-12-24 10:15:04 · 665 阅读 · 0 评论 -
TypeScript高级类型之映射类型
映射类型:通过映射类型我们可以从一个旧的类型生成一个新的类型(比如说把一个类型中的所有属性变成只读)我们先定义一个接口:interface Obj{ a:string, b:number, c:boolean}1、只读Readonly:type readOnlyObj=Readonly<Obj>2、Partial(可选),把接口...原创 2019-12-24 01:43:36 · 647 阅读 · 0 评论 -
TypeScript高级类型之索引类型
先看下面的代码:let obj={ a:1, b:2, c:3}function getValues(obj:any,keys:string[]){ return keys.map(key=>obj[key])}getValues(obj,['a','b']) //[1,2]这个函数的意思是返回对象中指定属性的值所组成的数组。如果我们指...原创 2019-12-23 22:17:28 · 1241 阅读 · 0 评论 -
TypeScript高级类型之交叉类型与联合类型
所谓的高级类型就是指TS为了保障语言的灵活性,所引入的一些语言特性,这些特性将有助于我们应对复杂多变的开发场景。交叉类型将多个类型合并成一个类型,新的类型将具有所有类型的特性,所以交叉类型特别适用对象混入的场景。interface DogInterface{ run():void}interface CatInterface{ jump():void}let ...原创 2019-12-23 21:33:58 · 361 阅读 · 0 评论 -
TypeScript中的类型检查机制
类型检查机制:TS编译器在做类型检查时,所秉承的一些原则,以及表现出的一些行为。 作用:辅助开发,提高开发效率类型推断不需要指定变量的类型(函数的返回值类型),TS可以根据某些规则自动的为其推断出一个类型基础类型推断 let aa; //自动推断为any类型let s=1; //推断为number类型let ms=[]; //推断为以any类型为元素的数组类型...原创 2019-12-23 12:19:40 · 932 阅读 · 0 评论 -
TypeScript中的泛型
很多时候我们希望一个函数或者一个类可以支持多种数据类型,有很大的灵活性。很多小伙伴可能会想到函数重载,联合类型,或者any类型等。函数重载代码量大,联合类型冗长。function log(value:any):any{ console.log(value); return value;}虽然使用any类型可以满足我们的需求,但是缺失类型信息,这不是我们所希望的,...原创 2019-12-19 14:51:44 · 584 阅读 · 0 评论 -
TypeScript中的类
总体来讲,TS中的类覆盖了ES6中的类,并引入了一些新的特性。类的基本实现class Dog{ constructor(name:string){ //构造函数的返回值会自动推断为Dog,也就是这个类的本身 this.name=name; //初始化实例属性 } name:string; run(){} //默认返回值是void...原创 2019-12-17 22:27:54 · 479 阅读 · 0 评论 -
TypeScript中的函数
定义函数的四种方式:// 1.用function来定义函数(返回值的number可以省略,这是由于ts的类型推断)function add1(x:number,y:number):number{ return x+y;}//2.通过变量来定义函数类型let add2:(x:number,y:number)=>number;//3.通过类型别名来定义函数类型t...原创 2019-12-13 22:16:29 · 479 阅读 · 0 评论 -
TypeScript中的接口
介绍:TypeScript的核心原则之一是对值所具有的结构进行类型检查。它有时被称做“鸭式辨型法”或“结构性子类型化”。在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。对象类型的接口:通过关键字interface来定义接口interface List{ id:number, name:string}interface R...原创 2019-12-12 23:32:00 · 197 阅读 · 0 评论 -
TypeScript中的数据类型
首先我们先来对比一下ES6和TS的数据类型ES6的数据类型: Boolean Number String Array Function Object Symbol undefined nullTypeScript的数据类型:Boolean Number String Array Func...原创 2019-12-12 00:02:22 · 316 阅读 · 0 评论 -
TypeScript入门须知
什么是强类型语言、弱类型语、静态类型语言、动态类型语言1. 强类型语言:不允许改变变量的数据类型,除非进行强制类型转换2. 弱类型语言:变量可以被赋予不同的数据类型3. 静态类型语言:在编译阶段确定所有的变量类型对类型极度严格, 立即发现错误, 运行时性能好, 自文档化4. 动态类型语言:在执行阶段确定所有的变量类型对类型非常宽松, bug可能隐藏数月甚至数年, 运...原创 2019-12-11 17:29:20 · 136 阅读 · 0 评论