当前位置:网站首页>typescript学习笔记(三)
typescript学习笔记(三)
2023-01-19 15:20:56【tianming2018】
模块化
| 配置名称 | 含义 |
|---|---|
| module | 设置编译结果中使用的模块化标准 |
| moduleResolution | 设置解析模块的模式 |
| noImplicitUseStrict | 编译结果中不包含"use strict" |
| removeComments | 编译结果移除注释 |
| noEmitOnError | 错误时不生成编译结果 |
| esModuleInterop | 启用es模块化交互非es模块导出 |
前端领域中的模块化标准:ES6、commonjs、amd、umd、system、esnext
TS中如何书写模块化语句
TS中,导入和导出模块,统一使用ES6的模块化标准
编译结果中的模块化
可配置
TS中的模块化在编译结果中:
- 如果编译结果的模块化标准是ES6: 没有区别
- 如果编译结果的模块化标准是commonjs:导出的声明会变成exports的属性,默认的导出会变成exports的default属性;
如何在TS中书写commonjs模块化代码
导出:export = xxx
导入:import xxx = require(“xxx”)
// 导出
export = {
name: "kevin",
sum(a: number, b: number) {
return a + b;
}
}
// 导入
import myModule = require("./myModule")
模块解析
模块解析:应该从什么位置寻找模块
TS中,有两种模块解析策略
- classic:经典
- node:node解析策略(唯一的变化,是将js替换为ts)
- 相对路径
require("./xxx") - 非相对模块
require("xxx")
- 相对路径
扩展类型-接口
接口:inteface
扩展类型:类型别名、枚举、接口、类
TypeScript的接口:用于约束类、对象、函数的契约(标准)
契约(标准)的形式:
- API文档,弱标准
- 代码约束,强标准
和类型别名一样,接口,不出现在编译结果中
接口约束对象
接口约束函数
接口可以继承
可以通过接口之间的继承,实现多种接口的组合
使用类型别名可以实现类似的组合效果,需要通过&,它叫做交叉类型
它们的区别:
- 子接口不能覆盖父接口的成员
- 交叉类型会把相同成员的类型进行交叉
readonly
只读修饰符,修饰的目标是只读
只读修饰符不在编译结果中
类型兼容性
B->A,如果能完成赋值,则B和A类型兼容
鸭子辨型法(子结构辨型法):目标类型需要某一些特征,赋值的类型只要能满足该特征即可
基本类型:完全匹配
对象类型:鸭子辨型法
类型断言
当直接使用对象字面量赋值的时候,会进行更加严格的判断
参数:传递给目标函数的参数可以少,但不可以多
返回值:要求返回必须返回;不要求返回,你随意;
边栏推荐
猜你喜欢
随机推荐
- uni-app 178添加背景提示音(二)
- uni-app 181查看好友朋友圈完善(二)
- uni-app 180查看好友朋友圈完善(一)
- uni-app 176添加背景提示音(一)
- uni-app 175app端兼容处理(二)
- 关于双碳中的一些单位换算
- OpenMP 环境变量使用总结
- TiCDC 源码阅读(三)TiCDC 集群工作过程解析
- OpenMP 环境变量使用总结
- Inside OpenStack Technology
- MapReduce 实验:二次排序
- scrapy框架利用crawlspider全站爬取招聘信息
- scrapy爬虫框架全栈爬取招聘所有数据3000多条记录
- scrapy爬虫框架介绍与实战
- MeterSphere使用beanshell全局断言解决引用JSONObject问题
- 多种汉语方言语音落地应用,微软智能语音解锁更多交互场景
- 超越TensorFlow?Yann LeCun:“Why? PyTorch. That's why.”
- CTA-敏感行为-AppOps方案
- 年金保险排名前十的保险是哪个,安全吗
- 支付宝的年金保险值得入手吗?安全吗?
- 负电压是怎么产生的原理分析
- 迟滞比较器Hysteresiswindow和comparator(窗口比较器)原理
- 残留物与电子PCBA 的可靠性和三防漆涂敷前后可能导致电路板出现故障的变量
- 京东探索研究院 | 2023年十大科技趋势
- A variety of Chinese dialect voice landing applications, Microsoft's intelligent voice unlocks more interactive scenarios
- Is Alipay's annuity insurance worth buying?is it safe?
- Which is the top ten insurance for annuity insurance? Is it safe?
- Use MeterSphere beanshell global assertion reference JSONObject solution
- CNN+LSTM+Attention实现时间序列预测(PyTorch版)
- WebView加载heml代码简单应用
- CTA-Sensitive Behavior-AppOps Solution
- Beyond TensorFlow?Yann LeCun: "Why? PyTorch. That's why."
- 蜻蜓安全工作台程序编排简要说明
- WSL2安装systemd方法
- 安信证券开户安全吗?佣金是万几?
- 大智慧在上面开户安全吗?谁能告诉我一下
- 从合并石子学区间DP
- Golang的基本数据类型-基本使用
- 线扫相机DALSA--卡间同步
- 海康visionmaster-图像Bitmap和CmvdImage互转的方法



