TypeScript的学习二

TypeScript ——javascript的超集(superset)
在这里插入图片描述
任何一种javascript运行环境都支持,功能更为强大,生态也更健全,更完善
TypeScript_前端领域中的第二语言
缺点一:语言本身多了很多概念,如果接口,泛型之类的,但是属于渐进式
缺点二:项目初期,typescript会增加一些成本,因为一开始会写很多的申明,对象函数之类的,如果是长期大型的项目可以使用typescript,因为这些声明都是一劳永逸的
快速上手

yarn init –yes
yarn add typescript –dev

会在node_modules下的bin多了一个tsc文件,用来编译typescript代码
在这里插入图片描述
在这里插入图片描述
构建之后会生成.js结尾的文件名一样的文件,已经把es6和typescript的代码转成了es5的代码
配置文件

yarn tsc –init

根目录下会生成tsconfig.json的文件
在这里插入图片描述
Target:编译后的语言
Module:输出的代码以什么样的方式模块化
OutDir:编辑结果输出到的文件夹
RootDir:ts的源代码所在的文件夹
SourceMap:true 开启源代码映射,调试的时候可以直接调试源代码很方便
Strict:true开启了严格模式

原始类型Primitive Types
在这里插入图片描述
这三种类型ts非严格模式里是可以为空的,上一篇文件里的flow不可以
在这里插入图片描述
标准库声明
标准库就是内置对象所对应的声明
Symbol是es6的内置对象,配置文件target如果是es5的话只能调用es6的标准库,所以symbol类型会报错,es6里的都会报错,比如promise,
可以把target改成es2015
也可以在lib里指定标准库
在这里插入图片描述
中文错误消息

yarn tsc –locale zh-CN

在这里插入图片描述
vscode里的配置
在这里插入图片描述
在这里插入图片描述
Object类型
在这里插入图片描述
数组类型
和flow中几乎完全一致
在这里插入图片描述
强类型可以约束传入的值必须都是数字的数组
元组类型
是一个特殊的数据结构,是一个明确元素数量和类型的一个数组
在这里插入图片描述
在这里插入图片描述
得到的键值也是一个元组

枚举类型
在这里插入图片描述
postStatus里的值可以不赋值,不赋值是自动从0开始自增长
在这里插入图片描述
枚举类型编译后,会生成一个双向的键值队对象,可以通过值获取键,也可以通过键获取值

函数类型
在这里插入图片描述
参数的类型是number,返回值的类型是string,参数个数也要相同
入参加了?或者有了默认值,就是可有可无的可选参数。
在这里插入图片描述
…rest参数个数不受限制
在这里插入图片描述
接收的变量约束,一般定义在接口上

任意类型 any
Any类型不会有任何的检查,所以会存在类型安全的 问题
在这里插入图片描述
隐式类型推断
在ts中,如果没有明确通过类型注解去标注一个变量的类型,那ts会根据这个变量的使用情况去推断这个变量的类型,这种特性就是隐式类型推断
在这里插入图片描述
Ts就会推断成age为number,再赋值成string就会报错,当无法推断的时候就会赋值any

类型断言
在有些特殊的情况下,ts无法推断出这个变量的具体类型
在这里插入图片描述
告诉ts res是一个number类型,类型断言不是类型转换

接口Interfaces
一种约定,约束对象的结构
在这里插入图片描述
编译es5后
在这里插入图片描述
接口中的可选成员,只读成员,动态成员
Subtitle是可选成员,summary是只读成员,初始化后就不能再修改,cache动态成员
在这里插入图片描述

类的基本使用
描述一类具体事物的抽象特征,用来描述一类具体对象的抽象成员,es6以前,函数+原型来模拟实现 类,es6开始有了class,在ts中增强了class的相关语法
ts中类的属性必须有一个初始值
在这里插入图片描述
类的访问修饰符
Private私有的,只能在类的内部使用
public公用的,默认的
protected 受保护的,也不能在外部使用,子类中可以
如果在类的构造函数中添加private,只能通过static静态去访问
在这里插入图片描述
在这里插入图片描述

类的只读属性
Readonly初始化后就不可以再修改

类与接口
在这里插入图片描述
抽像类
Absract,只能被继承,不能通过new的方式去实例化了
在这里插入图片描述
泛型
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值