2.数组,对象,元组,自定义类型,接口,字面量,枚举,any

news2025/2/26 6:12:39

目录

1  数组

2  对象

3  元组

4  类型别名(自定义类型)

5  接口

5.1  基本使用

5.2  接口继承

6  字面量类型

7  枚举类型

7.1  基本使用

7.2  枚举的默认值

7.3  给枚举数值

7.4  给枚举字符串值

7.5  ts的枚举转换为js

8  any类型


1  数组

包含数字的数组可以这样注解

包含字符串的数组可以这样注解

数组中包含数字与字符串可以这样注解

  • 在ts的类型注解中 | 表示联合类型,意思为 | 前后两种类型的其中一种

并不是只能像上面那样写,你可以任意进行组合。比如只有数字的数组你可以写成 number[],也可以写成Array<number>

2  对象

对象实际上就是一个一个的基本变量组成的

没有返回值的函数就给void,有返回值的对象你就去定义指定的类型

函数就如果要加参数就跟函数类型加的方法一样

也可以不用分号改成换行

函数规则也可以这样写

对象也可以有可选的属性,这里这个something你写不写就无所谓

3  元组

不同语言对元组的定义不同,在ts中元素是另一种类型的数组。元组需要知道数组中元素的个数,以及每一个元素的类型都是什么

比如下面a的规则就是元组

元组规则需要数组的元素个数正确,每个元素的类型正确

4  类型别名(自定义类型)

类型别名就是相当于注解的变量,我们简单用一下

我注解为a,b,c为数字或字符串

使用类型别名的目的是在重复使用某一条约束的时候比较方便

5  接口

5.1  基本使用

接口实际上就是自定义对象

接口只能给对象用,自定义类型可以给变量用,你要用自定义类型你就这样写

5.2  接口继承

我下面就是让IPerson1继承了IPerson的全部内容,然后有加入了gender和something这两个节点

当你使用IPerson1的时候,你必须使用 name,age,sayHi(),gender,something 5个节点才不会报错

6  字面量类型

你用const定义的变量就是字面量类型,因为const是常量,定义完了你就动不了了

我用const定义了a,a是字符串,但是他写的是something,这个就叫字面量类型

就相当于这样写

如果用其他的关键字声明,它就会显示string,而不是某一个具体的值

不只只有字符串这样,其他的变量类型也是这样

字面量类型常用于函数参数明确的可选值,比如下面这个函数,你只能选择up down left right 这四个值,别的不行

7  枚举类型

7.1  基本使用

枚举类型就相当于上面的 字面量+联合类型

7.2  枚举的默认值

向我们上面那样写,枚举的值依次是0 1 2 3

7.3  给枚举数值

如果你像给别的值,你就在Direction中把每一个值给了

你把鼠标直接悬停在Up上,也能看Up的值是多少

7.4  给枚举字符串值

7.5  ts的枚举转换为js

转换之后是这样的,如果你之前有Direction就用你之前的Direction,如果没有Direction我就给你造一个新的,然后把四组键值塞进去

我们直接简单测一下,第一种情况是我已经定义了一个Direction对象

它就会保留你原来的键,然后把四组键值塞进去

第二种情况是,我之前没声明过Direction

第三种情况是我声明了Direction,但是Direction不是对象

8  any类型

any类型就是不让ts约束变量的类型

用any类型你就可以随便改了

any一般就当pass用了,就是你暂时不想理会这个变量到底是什么类型,能先跑通了就完了,后面想改的时候在改,这个时候可以用any

在ts中

  • 如果声明变量不提供类型也不提供默认值的时候,这个变量的类型是any
  • 函数参数不加类型的时候,参数的类型是any

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

联想存储 HH0301_DE4000H

Help - Eclipse SDKhttps://thinksystem.lenovofiles.com/storage/help/index.jsp?topic%2Fthinksystem_system_manager_11.60.3%2Foverview.html&langzh/CN池和卷组的工作原理 要配置存储、可创建池或卷组&#xff0c;用于容纳要在存储阵列中使用的硬盘&#xff08;HDD&…

复习之linux系统的引导修复

启动Linux系统时&#xff0c;需要先通电&#xff0c;接着系统会自动进行bios初始化&#xff0c;对硬件进行检测并初始化硬件时钟&#xff0c;之后就进入了 Linux系统引导过程。Linux系统引导过程的具体内容和引导修复方法将在下文中进行详细介绍。由于我们在引导修复时需要利用…

Android Studio 关于BottomNavigationView 无法预览视图我的解决办法

一、前言&#xff1a;最近在尝试一步一步开发一个自己的软件&#xff0c;刚开始遇到的问题就是当我们引用 com.google.android.material.bottomnavigation.BottomNavigationView出现了无法预览视图的现象&#xff0c;我也在网上查了很多中解决方法&#xff0c;最后在执行了如下…

腾讯云从业者认证考试知识点——云服务器

文章目录 云服务器的产品概览腾讯云服务器的优势腾讯云服务器选型腾讯云服务器计费方案 云服务器的产品概览 腾讯云服务器的产品&#xff1f; CVM云服务器&#xff08;Cloud Virtual Machine&#xff0c;CVM&#xff09;提供安全可靠的弹性计算服务。 可以在云端获取和启用 CV…

大数据课程D3——hadoop的MapReduce

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解MapReduce的作用和特点; ⚪ 掌握MapReduce的组件; ⚪ 掌握MapReduce的Shuffle; ⚪ 掌握MapReduce的小文件问题; ⚪ 掌握MapReduce的压缩机制; ⚪ 掌握MapReduce的推测执行机制…

docker存储空间报错解决(谨慎操作,会影响原来的容易镜像,不熟练切勿操作)

报错内容 [rootDream package]# docker build -t imapp . [] Building 21.0s (6/19)> [internal] load build definition from Dockerfile 0.1s> > transferring …

提升维修服务体验,轻松解决问题:揭秘上门维修小程序的关键功能与用户体验

当今社会&#xff0c;随着科技的发展&#xff0c;上门维修小程序成为了人们解决维修问题的首选。下面将介绍开发上门维修小程序时的必备功能&#xff0c;以及这些功能如何提供便利和增加用户体验。   在线维修预约功能&#xff1a;上门维修小程序提供了在线预约平台&#xff…

dreamStudio试用教程【AI绘画】

文章目录 dreamStudio 简介打开官网如下邮箱登录即可切换随机提示词新用户的试用次数目前只有25张图像&#x1f4d9; 预祝各位 前途似锦、可摘星辰 dreamStudio 简介 https://github.com/Stability-AI/StableStudio StabilityAI在官网上重磅宣布——旗下的文生图应用DreamStu…

SpringBoot(十)教你手把手自定义starter

一个月的时间&#xff0c;转眼已经到了我的SpringBoot系列的第十篇文章。还记得我的第二篇文章SpringBoot&#xff08;二&#xff09;starter介绍_springboot的starter_heart荼毒的博客-CSDN博客 曾经介绍过starter。starter除了官方提供的以外&#xff0c;我们也可以自定义。本…

【LeetCode每日一题】——766.托普利茨矩阵

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【题目进阶】八【解题思路】九【时间频度】十【代码实现】十一【提交结果】 一【题目类别】 矩阵 二【题目难度】 简单 三【题目编号】 766.托普利茨矩阵 四【题目描述…

iPhone 8 Plus透明屏有哪些场景化应用?

iPhone 8 Plus是苹果公司于2017年推出的一款智能手机&#xff0c;它采用了全新的玻璃机身设计&#xff0c;使得手机更加美观和时尚。 而透明屏则是一种新型的屏幕技术&#xff0c;可以使手机屏幕呈现出透明的效果&#xff0c;给人一种科技感十足的视觉体验。 透明屏是通过使用…

Java常用工具类

1、Date类 Date类主要用来存储时间&#xff0c;精确到毫秒&#xff0c;内部是通过一个long值来进行存储的。 2、Calendar&#xff08;日历类&#xff09; 主要用来处理时间&#xff0c;例如&#xff0c;获取时间的某个部分&#xff0c;改变时间的某个部分&#xff1b;对时间…

【go语言学习笔记】03 Go 语言深入理解

文章目录 一、指针详解1. 指针的声明和定义2. 指针的操作2.1 获取指针指向的值2.2 修改指针指向的值2.3 给指针变量分配内存 3. 指针接收者4. 什么情况下使用指针5. 指向接口的指针 二、参数传递1. 值类型2. 指针类型3. 引用类型3.1 map3.2 chan 4. 类型的零值 三、内存分配1. …

Android 9系统源码_音频管理(一)按键音效源码解析

前言 当用户点击Android智能设备的按钮的时候&#xff0c;如果伴随有按键音效的话&#xff0c;会给用户更好的交互体验。本期我们将会结合Android系统源码来具体分析一下控件是如何发出按键音效的。 一、系统加载按键音效资源 1、在TV版的Android智能设备中&#xff0c;我们…

vscode插件美化C/C++和HTML

配置html语言自动补全&#xff0c;在设置中搜索Emmet 设置->搜索 Emmet Abbreviation 验证自动补全 输入html&#xff0c;下键选择html:5&#xff0c;自动补全整个开头语言

极简在线商城系统,支持docker一键部署

Hmart 给大家推荐一个简约自适应电子商城系统&#xff0c;针对虚拟商品在线发货&#xff0c;支持企业微信通知&#xff0c;支持docker一键部署&#xff0c;个人资质也可搭建。 前端 后端 H2 console 运行命令 docker run -d --name mall --restartalways -p 8080:8080 -e co…

Maven引入本地第三方Jar包

背景 引入第三方的Jar包&#xff0c;本来是在项目结构的库里面引入的jar包&#xff0c;但是用maven打包时报错&#xff0c;所以后面想着用maven引入本地地址的方式。 解决方法 1.将Jar包放到根目录里面&#xff0c;我这边放在了lib文件中,如图所示&#xff1a; 2.在pom文件…

深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 首先是博主的高质量博客的汇总&#xff0c;这个专栏里面的博客&#xff0c;都是博主最最用心写的一部分&#xff0c;干货满满&#xff0c;希望对大家有帮助。 高质量博客汇总https://blog.csdn.net/yu_cblog/categ…

【CAS6.6源码解析】ST的默认淘汰策略 MultiTimeUseOrTimeoutExpirationPolicy

本篇文章是对上篇文章【深度解析票据淘汰与过期策略】的一个补充&#xff0c;上篇文章主要分析了TGT的默认淘汰策略配置&#xff0c;ST的配置有TGT的默认配置有一些差异化&#xff0c;特别是ST是基于MultiTimeUseOrTimeoutExpirationPolicy这样一种淘汰策略&#xff0c;本文将详…

精密划片机行业发展趋势

划片机行业的发展趋势主要包括以下几个方面&#xff1a; 高精度、高效率的切割技术&#xff1a;随着半导体芯片的尺寸不断增大&#xff0c;切割的精度和效率要求也越来越高。因此&#xff0c;行业将继续推动切割技术的创新和发展&#xff0c;以提高划片效率和精度。 自动化和智…