首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【TypeScript】TS类型声明(二)

【TypeScript】TS类型声明(二)

原创
作者头像
can4hou6joeng4
发布2023-11-28 14:09:44
发布2023-11-28 14:09:44
40200
代码可运行
举报
运行总次数:0
代码可运行

前言

--

本文主要讲解TypeScript的基本数据结构,主要包括JS基本数据类型以及TS特有的数据类型。

  • JS基本数据类型: string、number、null、undefined、boolean、array
  • TS特有的数据类型:tuple(元祖)、enum(枚举)、any、unknow、never

注意: node 不能直接执行ts文件,需要先将ts编译成js,然后再执行js

一、 string、number、null、undefined、boolean类型声明


  • JS普通写法如下:
代码语言:javascript
代码运行次数:0
运行
复制
 let myName = "zhangsan";
 let count = 1;
 let a = null;
 let b = undefined;
 let visiable = false;
  • TS写法如下: 不能更改它们的变量类型,否则会直接报错
代码语言:javascript
代码运行次数:0
运行
复制
let myName: String = "zhangsan";
let count: Number = 1;
let a: null = null;
let b: undefined = undefined;
let visiable: boolean = false;
  • 错误示范:
代码语言:javascript
代码运行次数:0
运行
复制
let myName: String = "zhangsan";
myName = true;//Error:Type 'true' is not assignable to type 'String'.

二、 array、tuple(元祖)


JS写法如下:

代码语言:javascript
代码运行次数:0
运行
复制
 let arr = ['语文','数学']

TS声明数组有多种方式,具体如下:

(1)数组的数据类型一致

  • Array<>:声明一个数组,数组类型为<>中定义的类型,比如:Array<string>
代码语言:javascript
代码运行次数:0
运行
复制
//声明一个数组,并且数组中的数据类型都是字符串
let arr:Array<string> = ['语文','数学']  
let arrA:string[] =  ['语文','数学']  
//注意:数组这样写会报错
let arr:Array= ['语文','数学']  //error
  • string[]:声明一个数组,数组类型为[]前定义的类型,比如number[]
代码语言:javascript
代码运行次数:0
运行
复制
let arr:string[] = ['a']

(2)数组的数据类型不一致

  • 联合数据声明:比如(string|number)[],声明一个数组,数组类型为字符串、数字。数组中数据的类型可以不随定义的类型位置的限定。
代码语言:javascript
代码运行次数:0
运行
复制
let arr:(string|number)[] = ['a',1]
let arrB:(string|number)[] = ['a',1,1,'b']
let arrC:(string|number)[] = [1,1,'b','c']
let arrC:(string|number)[] = [1,1]
//或者这样声明
let arrD: Array<string | number> = [1, 12, 'a']

(3)数组的数据类型任意

代码语言:javascript
代码运行次数:0
运行
复制
let arr:any[] = ['a',1,true,null]
//或者这样声明
let arrE:Array<any> = ['a',1,true,null]

(4)限制类型和长度的元祖数组

tuple(元祖):是固定数量的不同类型的元素的组合,比如[number, string]。数组中数据的位置、类型以及个数必须要和声明的类型、声明类型的位置、声明类型的个数保持一致,否则就会报错。

代码语言:javascript
代码运行次数:0
运行
复制
let tupleArr: [number, string] = [1, '数学']
let tupleArrA: [number, string] = [1, '数学',1]//error
let tupleArrA: [number, string] = ['数学',1]//error

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (1)数组的数据类型一致
  • (2)数组的数据类型不一致
  • (3)数组的数据类型任意
  • (4)限制类型和长度的元祖数组
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档