typescript
文章平均质量分 56
大神乔伊
产品,技术,思考,成长
展开
-
typescript学习导航
前言浅蓝色的文字是超连接,点击前往相关主题基础介绍,安装,ts和react集成,配置文件,声明文件类型注解,类型推断,类型断言进阶接口泛型高级类型原创 2021-08-02 23:53:27 · 640 阅读 · 0 评论 -
typescript学习:配置文件,声明文件
本文内容如下typescript是什么?与js有什么区别?如何使用?如果你都有了答案,可以忽略本文章,或去JS学习地图寻找更多答案配置文件tsconfig.json{ "exclude":["node_modules","dist"], //不编译的文件 "include":["test.ts"], //要编译的文件 "files":["test.ts"], //要编译的文件 "compilerOptions":{ "ba原创 2021-11-01 16:33:53 · 245 阅读 · 0 评论 -
JS和TS的两种思维
孙子兵法胜者先胜而后战,败者先战而后求胜胜者先胜而后战,意思就是,胜利者把战斗中可能出现的突发事件,异常错误事先处理掉,让自己尽可能的立于不败之地,对应编程语言中的typescript。败者先战而后求胜,意思就是,失败者先去战斗,遇到问题再进行处理,但往往有些事没有准备是处理不了的,对应编程语言中的javascript。两种思维其实是处理风险的方式,你是哪一种风格?TS,确定性,把风险提前扼杀掉,有备无患心理JS,随机性,遇到风险再处理,可能不会出现风险,侥幸心理创业做事应该具备的原创 2021-04-24 23:56:18 · 585 阅读 · 0 评论 -
typescript学习:泛型函数重载 + 交叉类型 + 类型断言
本文内容如下泛型函数重载 + 交叉类型 + 类型断言如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案简单例子将两个对象的属性合并type objType1 = { name: string, age: number }type objType2 = { name: string, age: number, phone: number }let obj1: objType1 = { name: 'tao', age: 18 }let obj2: objType2 = {原创 2021-10-27 10:45:10 · 447 阅读 · 0 评论 -
typescript学习:泛型接口 + 泛型函数,泛型工厂函数
本文内容如下泛型接口 + 泛型函数,泛型工厂函数如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案知识铺垫// 类class CommercialBank { static count: number constructor(public name: string) { }}//双重性质:1. 类构造函数对象变量CommercialBank.count2. 创建类对象的类型let c = new CommercialBank('农业银行')泛原创 2021-10-26 23:03:36 · 736 阅读 · 0 评论 -
typescript学习:泛型函数 + 函数重载,实现多功能排序器
本文内容如下泛型函数 + 函数重载,实现多功能排序器如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案快排算法用于字母 和 数字排序function quickSort<T>(arr: T[]): T[] { if (arr.length < 2) return arr let small: T[] = [] let big: T[] = [] let target = arr[0] for (let i = 1; i原创 2021-10-26 17:33:33 · 298 阅读 · 0 评论 -
typescript学习:类型推断,类型断言,类型保护,命名空间模块
本文内容如下类型推断,类型断言,类型保护,命名空间模块如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案类型推断不写注解,TS会自动帮推断出类型let x = 123 //推断为数字类型let x = [0, 1, null] //推断为联合类型最佳通用类型class Animal{ numlegs:number}class Bee extends Animal{}class Lion extends Animal{}let zoo = [new原创 2021-10-25 16:12:12 · 167 阅读 · 0 评论 -
typescript学习:关键字,操作符,keyof,in,infer...
本文内容如下关键字,操作符如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案关键字操作符typeofJS中的typeof:在运行时判断类型TS中的typeof:在编译时获取类型interface Person { name: string, age: number,}两者一样type p1 = typeof person type p2 = Personin:遍历type Names = "xiaoming" | "zhangsan"t原创 2021-10-25 15:34:41 · 4049 阅读 · 3 评论 -
typescript学习:function函数,重载
本文内容如下函数类型如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案函数参数参数:字符串类型,返回字符串function sayHello(person:string):string{ retrun 'hello' + person}sayHello('tom') //hello tom参数:函数类型function fn(callback: () => void): void {}可选参数,加?变可选参,放在参数最后function say原创 2021-10-22 21:57:36 · 344 阅读 · 0 评论 -
typescript学习:class类
本文内容如下class类如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案ES6中的 TS类公共属性修饰符:public:公开的,可读可写,默认修饰符private:私有的,不可读不可写protected:子类可访问readonly: 只能读不能写static:静态属性或静态方法(JS中也有)class Animal { public name: string; constructor(name: string){ this.name = name原创 2021-10-22 19:06:51 · 318 阅读 · 0 评论 -
typescript学习:类型别名,联合类型,交叉类型,null类型
本文内容如下联合类型,交叉类型,类型断言,类型别名,类型推断的了解与使用如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案联合类型可以简单理解为:或者常与类型别名结合使用let title: string | number = 1 //传递字符串和数字都可以与类型别名结合使用type S = stringtype N = numbertype F = () => stringconst result: S | N | F = 1const result原创 2021-08-16 23:58:32 · 250 阅读 · 0 评论 -
项目经验:react中使用typescript
前言如果你学会了,可以忽略本文章,或去项目经验地图寻找更多答案使用规则在 react 中使用 ts 的几点原则和变化:所有用到jsx语法的文件都需要以tsx后缀命名使用组件声明时的Component<P, S>泛型参数声明,来代替PropTypes!全局变量或者自定义的window对象属性,统一在项目根下的global.d.ts中进行声明定义对于项目中常用到的接口数据对象,在types/目录下定义好其结构化类型声明函数组件import React from 'react原创 2021-08-16 23:33:41 · 680 阅读 · 0 评论 -
泛型进阶:工具类型utility types
本文内容如下泛型进阶,utility types了解与使用如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案学习资料官网utility typesutility types用法用法:用泛型给它传入一个其他类型,然后utility type对这个类型进行某种操作例子Partial构造一个所有属性的Type设置为optional的类型type Person = { name: string, age: number}需求:Person的属性原创 2021-08-15 21:46:42 · 778 阅读 · 0 评论 -
typescript学习:Generics泛型
本文内容如下泛型Generics的了解与使用如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案学习更多TS学习地图原创 2021-08-03 09:49:43 · 120 阅读 · 0 评论 -
typescript学习:interface接口
本文内容如下interface的了解与使用如果你都有了答案,可以忽略本文章,或去TS学习地图寻找更多答案interface接口定义 对对象的形状(shape)进行描述,对类(class)进行抽象应用 对象,函数,类,需要传递多个参数时语法 通过关键字 interface 声明, 首字母大写, 使用;号隔开例子例子1:定义对象的属性接口类型interface Person{ name:string; age:number}let tao:Person =原创 2021-08-03 09:47:49 · 433 阅读 · 0 评论 -
typescript学习:基本类型,类型注解
本文内容如下typescript是什么?与js有什么区别?如何使用?如果你都有了答案,可以忽略本文章,或去JS学习地图寻找更多答案学习更多JS学习地图原创 2021-08-03 01:44:22 · 184 阅读 · 0 评论 -
typescript学习:介绍与安装
本文内容如下typescript是什么?与js有什么区别?如何使用?如果你都有了答案,可以忽略本文章,或去JS学习地图寻找更多答案typescript是什么简称TS,是微软开发的一款语言,它能够对代码进行约束,提升代码认知1.超集:JS基础上的拓展(JS有的TS都有,JS没有的TS有)2.静态类型风格的类型系统3.从es6 到 es10 甚至 esNext 的语法支持4.兼容各种浏览器,各种系统,各种服务器,完全开源与JS的区别JS是一款弱类型,动态类型语言:运行期间才会检测原创 2021-08-03 00:21:44 · 129 阅读 · 0 评论