当前位置:网站首页>Typescript学习笔记 | 字节青训营笔记
Typescript学习笔记 | 字节青训营笔记
2022-08-11 02:48:00 【.叹服】
TypeScript简介
TypeScript是一种由*微软开发*的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上TypeScript扩展了JavaScript的语法,这意味着他支持所有的 JavaScript 语法。TS在JavaScript的基础上添加了类型支持,可在任何运行的JavaScript的地方运行.
TypeScript 它是一个*静态类型检查器*,在执行之前(编译)检查程序是否存在错误,可以显示标出代码中的意外行为,并根据*值的种类进行*检查,从而降低了发生错误的可能性.
TypeScript特点:
- 可读性增强:基于语法解析TSDos,ide增强
- 可维护性增强:在编译阶段暴露大部分错误。(多人合作的大型项目中,获得更好的稳定性和开发效率)
- 包含于兼容所有JS特性,支持共存
- 支持渐进式引入与升级
对象类型
特点:对象类型在TS更加细化,对每个的对象都有自己的类型语言。<br>
**接口(interface)** :在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。
> **注意**:使用interface关键字定义接口一般首字母大写,并在接口名称上加上大写 I 前缀。
- **可选属性**:定义该属性可以不存在。(在该属性后加上?号)。
- **只读属性**:约束属性不可在对象初始化外赋值。(在对象的某个或某些属性前加上关键字 **readonly**,可以设置该属性为只读属性)。
- **任意属性**:约束所以对象属性都必须是该属性的子类型。
### 数组类型
**两种写法**:
```
1.
const numbers: number[] = [a,b,c]
2.
const strings: Array<string> = ['a', 'b', 'c']
```如果是数组中既有number,又有string,该怎么写?
**联合类型(由两个或多个其他类型组成的类型,表示可以是这些类型中的任意一种)**:
```
const arr: (number | string)[] = [1,'a',2,'b']
```
函数类型
在 TypeScript 中,有两种常见的定义函数的方式——函数声明(Function Declaration)和函数表达式Function Expression)。
1. 单独指定参数,返回值类型:
// 第一第二number分别为参数num1,num2添加数字类型,第三个number则为返回值添加数字类型
function plus(num1: number, num2: number): number {
return num 1+ num2
}
plus(1,2) 1. 单独指定参数,返回值类型:
```
const add = (num1: number, num2: number): number => {
return num1 + num2
}
add(2,3)
```
**注意**:不要混淆了 TypeScript 中的 `=>` 和 ES6中的 `=>`。
- 在 TypeScript 的类型定义中,`=>` 用来表示函数的定义,**左边是输入类型,需要用括号括起来,右边是输出类型**。
- 在 ES6 中,`=>` 叫做箭头函数,应用十分广泛。
边栏推荐
- 解决vim与外界的复制粘贴(不用安装插件)
- Add user error useradd: cannot open /etc/passwd
- "Beijing-Taiwan high-speed rail" debuted on Baidu map, can it really be built in 2035?
- 2022年广东省安全员A证第三批(主要负责人)操作证考试题模拟考试平台操作
- “京台高铁”亮相百度地图,真能在2035年建成吗?
- 【PHP】入门知识
- (Nips-2015) Spatial Transformer Network
- Entity to Vo conversion
- 思念家乡的月亮
- CC0 vs. commercial IP: which model is better for NFTs?
猜你喜欢

Js prototype and prototype chain and prototype inheritance

通过热透镜聚焦的高斯光束

alibaba数据同步组件canal的实践整理
![[Detailed explanation of C data storage] (1) - in-depth analysis of the storage of shaping data in memory](/img/a1/b1c04d44ea74560a0be55a3b715d25.png)
[Detailed explanation of C data storage] (1) - in-depth analysis of the storage of shaping data in memory

CSAPP Data Lab

Some work experience after joining the digital ic design

《人生若如初见》命运多舛,人物饱满,朱亚文角色反差太惊喜

BUU刷题记录
OpenHarmony啃论文俱乐部-啃论文心得

【idea 报错】 无效的目标发行版:17 的解决参考
随机推荐
通过热透镜聚焦的高斯光束
alibaba数据同步组件canal的实践整理
基于FPGA状态机的自动售货机功能实现
redis学习五redis的持久化RDB,fork,copyonwrite,AOF,RDB&AOF混合使用
TRCX:掺杂过程分析
gRPC闭包调度器
sql 使用到where和groupby时建立索引结果为啥是这样,原理是什么?
CC0 vs. commercial IP: which model is better for NFTs?
混币器Tornado遭制裁 对DeFi市场意味着什么?
Mysql_Note5
GBJ3510-ASEMI家电电源用整流桥GBJ3510
多线程之ThreadPoolExecutor
HPSO and multi-core LSSVM based network intrusion detection
IDE编译报错:Dangling metacharacter
A practice arrangement about map GIS (below) GIS practice of Redis
OpenCV founder: Open source must not be completely free!
(Nips-2015)空间变换器网络
google搜索技巧——程序员推荐
超声图像三维拼接-可视化选择,总体思路
通过微透镜阵列的传播