基础TypeScript(一)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- ts是js的超集
- 数据类型
- 一.TypesScript 和JavaScripte 一样不分整数类型和浮点类型
- 1.number类型
- 2.boolean类型
- 3.string类型
- 4Array类型
- 5.objcet对象类型
- 6.null类型
- 7.undefined类型
- 8.symbol类型
- 二。Typescript类型
- 1any类型
- 2.unknown类型
- 3.void类型
- 4.never类型
- 5.tuple类型(元组)
- 补充
- 1函数的参数和返回值类型
- 2.匿名函数的参数类型
- 3.对象类型.可选类型
- 4.联合类型
- 5可选类型和联合类型的关系
- 6.类型别名
提示:以下是本篇文章正文内容,下面案例可供参考
ts是js的超集
数据类型
一.TypesScript 和JavaScripte 一样不分整数类型和浮点类型
1.number类型
二进制 0b123 八进制0o123 十六进制0x123abcdef
2.boolean类型
const status=true/ false
3.string类型
const name=“123123123123”
4Array类型
1.第一种写法:
const name:Array<number>=[123,123,123]
//类型注解:type onnototion
不推荐 在react jsx 中会发生冲突
2.第二种写法:
const name:number[]=[]
推荐
再ts中数组类型存放相同数据类型比较好
5.objcet对象类型
1.cosnt info={
name:“chen”,
age:18
}
对象中会自己推导类型,
2.const info:obgect={
name:“chen”,
age:18
}
也可以const info:object={},不过不推荐,能推导尽量推导
它在取值的时候要用类型断言来获取 info.name是去不到的
6.null类型
1.const num:null=null
它只有一个值就是null,最好给它注解一个:null类型,因为它推导的话是any类型
2.const num:string=null
num=“abc”
这个也可以,开启严格模式就不行了
7.undefined类型
const num :undefined=undefined
它只有一个值那就是undefined
8.symbol类型
const title1=Symbol(“title”)
const title2=Symbol ("tiltle")
const info ={
[ title2 ] : "老师"
}
export{}
二。Typescript类型
1any类型
const message:any = “123"
message=123
message=true
message={}
any它可以是任何类型
在某些情况下,我们确实无法确定一个变量的类型,并且可能它会发生一些变化,这个时候我们就可以使用any类型(类似于Dart中的dynamic类型)
2.unknown类型
unkonwn 不确定的类型,和any有点类似,但不形同
unknown类型只能赋值给any和unknown类型可以防止再别的地方乱用出现安全隐患
any可以赋值给任意类型太灵活了
3.void类型
void通常指定一个函数是没有返回值得,name他的返回值就是void类型
可以将null和undefined赋值给void类型,函数是可以返回null和undefined的
function sum (num1:number,num2:number){
console.log(num1+num2)
}
sum(20,30)
void可以不用写
4.never类型
当一个函数永远没有返回值的时候用never进行注解
function foo():{
//死循环
while(true){
}
}
当函数返回异常的话也是可以使用never的
function bar():never{
throw new Error()
}
一般用在核心函数上
5.tuple类型(元组)
tuple是元组类型,很多语言中也是有这种数据类型,比如Python,Swift等
tuple元组:多中元素的组合
数组的话我们没有办法确定拿到的元素的类型,这个时候我就要用到元组
const info:[string,number,number]=['abc',123,456]
后边的赋值要和前边的对应它可以确定每个元素的类型
泛型写法
补充
1函数的参数和返回值类型
function sum(num1:number,num2:number):number{
return num1+num2
}
给函数加上类型注解,返回值也可以加上类型注解不写的话就会自动推导
2.匿名函数的参数类型
3.对象类型.可选类型
{x:number,y:number,z?:number} 对象中有一个是可选属性就加上?
function printPoint(point:{x:number,y:number,z?:number}){
lconsole.log(point.x)
lconsole.log(point.y)
}
printPoint({x:123,y:123})
printPoint({x:123,y:123,z:321})
4.联合类型
TyoeScript的类型系统允许我们是用多种运算符,从现有类型中构建新类型
第一种联合类型的方法(Union Type)
联合类型是有两个或者多个其他类型组成的类型
表示可以试着累累你高兴的任何一个值
联合类型中的每一个类型北城职位联合成员(union‘s members)
function printID(id:number|string|boolean){
console.log(id)
}
printID(123)
printID("qwe ")****
printID(true)
在使用联合类型的值的时候要特别小心需要判断(norrow)缩小
function printID(id:number|string|boolean){
if(typrof id ==="string"){
console.log(id.toUpperCase())
}else{
console.log(id)
}
}
printID(123)
printID("qwe ")
printID(true)
5可选类型和联合类型的关系
让函数的参数本身是可选的
一个参数的一个可选类型的时候,他其实类似于联合类型
function foo(message?:string){
lconsole.log(message)
}
foo() //不写参数也不会报错
function foo2(message:string | undefined){
lconsole.log(message)
}
foo2(undefined)//需要传一个参数或者undifined
6.类型别名
相当于赋值的写法需要用到type关键字(type关键字就是用来定义我们的类型别名)
type UnionType = string|number|boolean
type PointType={
x:number,
y:number,
z:number
}
function printIId(id:UnionType){
}
function printPoint(point:PointType){
}
会在第三方库里边经常见(type olios)
基础TypeScript(一)相关推荐
- typescript箭头函数参数_Typescript 入门基础篇(一)
Typescript 基础 Typescript是Javascript的一个超集.以下typescript简称为ts, 此文章主要是对ts官网文档的一个简化,缩短学习基础时间. 类型基础 ts 的类型 ...
- 2021年前端最新技术是什么?本篇汇总完整前端学习路线图
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 第一阶段:前端入门HTML5 +Css3+电商网页制作 第二阶段:JavaScript系列 JavaScript 基础 ...
- python工程师需要什么学历,python工程师怎么考证
python认证证书有哪些 python认证证书有很多,比如常见的证书有:全国计算机等级考试Python程序语言设计.Python Institute资格认证初级PCEP证书.Python Insti ...
- 【】Unity3D 等 技术目录
时间:2017年6月29日 []Unity3D Unity3D游戏开发 脚本系统 Unity3D地形编辑器 Unity3D 音频系统 Unity3D 灯光系统 Unity3D 五子棋大战 ...
- TypeScript基础入门 - 接口 - 继承接口
转载地址 TypeScript基础入门 - 接口 - 继承接口 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.0.13 为 ...
- TypeScript基础入门 - 泛型 - 泛型类型
2019独角兽企业重金招聘Python工程师标准>>> 转载 TypeScript基础入门 - 泛型 - 泛型类型 项目实践仓库 https://github.com/durban8 ...
- TypeScript基础入门 - 函数 - 简介
2019独角兽企业重金招聘Python工程师标准>>> 转载 TypeScript基础入门 - 函数 - 简介 项目实践仓库 https://github.com/durban89/ ...
- typescript利用接口类型声明变量_TypeScript入门指南(基础篇)
戳蓝字「前端技术优选」关注我们哦! 作者:慕晨同学 原文地址:https://github.com/USTB-musion/fee-skills/issues/19 写在前面 ts是拥有类型系统 ...
- TypeScript基础入门 - 接口 - 可索引的类型
转载地址 TypeScript基础入门 - 接口 - 可索引的类型 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.0.11 ...
最新文章
- 报道 | 1899篇论文、1329个机构、6012位作者,NeurIPS 2020谁在独领风骚?
- GitHub学习笔记
- 爬虫python需要什么软件-Python爬虫需要学习那些东西?
- 新手vue构建单页面应用实例
- 展望企业级移动设备的操作系统
- 解决在linux跑连接sql server老版本会报错的问题
- [LeetCode] Power of Four
- 相机标定(六)—— 张正友标定法
- 【Android Studio安装部署系列】三十一、从Android studio3.0.0升级到Android studio3.0.1
- windows7和windows10下安装xgboost
- Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结
- SQL日期函数获取系统当前时间
- python|cookie和session介绍——以12306验证码破解
- 熵、互信息与相对熵的关系
- webservice的接口测试工具
- 根据前序遍历和中序遍历的结果重建二叉树
- 设计模式之观察者模式——猫抓老鼠2
- 微弱电流检测放大器PCB布线布局设计
- ThinkPad-T480-OpenCore0.7.5-黑苹果EFI
- CMOS工艺,Al/Si接触中的尖楔现象