当前位置:网站首页>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 中,`=>` 叫做箭头函数,应用十分广泛。
边栏推荐
- 入职数字ic设计后的一些工作心得
- The ifconfig compared with IP command
- GBJ3510-ASEMI家电电源用整流桥GBJ3510
- "Beijing-Taiwan high-speed rail" debuted on Baidu map, can it really be built in 2035?
- [机缘参悟-66]:怎样才能让别人愿意帮你:利益共享法则、“大道”、“人性”
- 网络安全笔记第四天day4(kali基本操作)
- MySQL权限控制、分区表、快速复制表
- 夫妻一方婚内向异性大额转款,怎么判
- How to solve the problem of Tomcat booting and crashing
- Mysql_Note3
猜你喜欢
随机推荐
2022茶艺师(中级)考试试题及模拟考试
SQL 开发的十个高级概念
混币器Tornado遭制裁 对DeFi市场意味着什么?
调试技巧总结
“京台高铁”亮相百度地图,真能在2035年建成吗?
Future Trends in Vulnerability Management Programs
关于地图GIS的一次实践整理(下) Redis的GIS实践
最倒霉与最幸运
Vulnhub靶机:GEMINI INC_ 2
Entity到Vo的转换
Multi-threaded ThreadPoolExecutor
2022年广东省安全员A证第三批(主要负责人)操作证考试题模拟考试平台操作
DOM树的遍历-----修改样式,选择元素,创建和删除节点
Google search skills - programmer is recommended
①CAS SSO单点登录框架源码深度分析
[oops-framework] Template project [oops-game-kit] Introduction
gRPC基础概念:闭包
alibaba数据同步组件canal的实践整理
【PHP】入门知识
Add user error useradd: cannot open /etc/passwd