TS 学习 (持续更新中)



如果我们在 ts 中写 不用运行就能在文件中报错 ts 是一种静态类型的检查 能将运行时出现的错误前置



一般不用 命令行编译


ts 转换成 js 将中文转码 tsc index(.ts)


输入命令生成 配置文件 能在中间进行 配置转换成 js 的哪个规范 es5 还是 6 和其它转换规范

做项目 用 vue react 都是用脚手架 基于 webpack 和 vite 开箱即用 即时编译成 js 文件 不用上面两种编译形式


给定义的变量加类型 只能给这个变量 赋值规定的那个类型

可以给函数的参数 和 返回值 定义类型

个数也不能多 或 少

也能给变量 规定成 字面量 类型的变量 但是 b 就只能是 hello了 把类型看成集合


js 的类型

大写是 包装对象 小写是 原始字符串类型 一个是 字符 另一个是对象



包装对象也是有意义的 自动装箱时使用 不是给我们用的


类型推断也失去作用
不写也是 any

会对其它类型 破坏 原本的string 被破坏


any 和 unknow 的区别

类型断言 (两种形式)



any 点 啥都不报错 unknow 点啥都报错 除非进行类型断言



函数啥都不写 也会返回东西
所以 如果函数返回值类型 为 never 函数不能调用结束/终结(函数不能正常运行完结束) 或者一直进行调用

函数中抛出异常函数立即结束 而不会继续执行




不写返回值默认返回 undefined 返回值类型为 void 能接受 undefined 类型的返回值 其它都不行

这几个都符合

不能用返回值 类型 为 void 这个返回值 进行任何操作 设置返回值为 void 不该拿返回值 或者用返回值做任何事情

undefined 没事这就是 和 void 的区别
就是 void 不能关心返回值 的确返回了 undefined 也不能用


原始类型 数字 字符串 布尔类型

这些都能定义



除了 null 和 undefined' 都能存储


分隔符 逗号分号都行

如果这么写 必须数量和我们定义的一致 不能多不能少

如果有可选属性 ? 就能 可写可不写该属性 
索引签名 写一个这个属性 就能想加几个属性就加几个属性

key 换成 别的也行



不是箭头函数 箭头只是区分这个类型是个函数

定义数组中 数据的类型

泛型 用尖括号 大写 Array 别和前面弄混了 只是前面基本类型用小写

元组 可以让数组里面存不同的东西 特殊的数组类型 不是关键词 不能 let a:tuple

问号是可选类型的元素 ..string[] 是可以写无限多个 字符类型的元素


不是对象的简写形式

其实就是个对象,反向映射 key 和 value 互换一下

这就是枚举的作用 都从枚举类型中 取东西 不会因为拼写错误排查半天 枚举是有穷的情况 不存在自己未知的情况

字符串枚举没有反向映射


前面加一个 const 常量枚举 翻译成 js 时 不用将枚举本身再翻译一下了

type 为任意类型创建别名 也是关键词 只有 tuple 元组 不是关键词

创建了一个新的类型数字

使用管道符 定义复杂类型 联合类型




类型限制为 void 失效了 特殊情况


map 和 find 都要返回值 佛reach 不要返回值 时 undefined 符合 void

但是如果写简写后的箭头函数 就会默认将箭头后面的作为返回值 这样就不是 void 了

相关文章:
TS 学习 (持续更新中)
如果我们在 ts 中写 不用运行就能在文件中报错 ts 是一种静态类型的检查 能将运行时出现的错误前置 一般不用 命令行编译 ts 转换成 js 将中文转码 tsc index(.ts) 输入命令生成 配置文件 能在中间进行 配置转换成 js 的哪个规范 es5 还是 6 和其它转…...
el-table使用type=“expand”根据数据条件隐藏展开按钮
一:添加className <el-table :data"tableData" border :loading"loading" :row-class-name"getRowClass" expand-change"expandchange"><el-table-column type"expand"><template #default"…...
9月6日(∠・ω<)⌒☆
1、手写unique_ptr指针指针 #include <iostream> #include <stdexcept>template <typename T> class unique_ptr { public:// 构造函数explicit unique_ptr(T* ptr nullptr) : m_ptr(ptr) {}// 析构函数~unique_ptr() {delete m_ptr;}// 禁止复制构造函数…...
k8s执行crictl images报错
FATA[0000] validate service connection: CRI v1 image API is not implemented for endpoint "unix:///run/containerd/containerd.sock": rpc error: code Unimplemented desc unknown service runtime.v1.ImageService 解决方法: vim /etc/contai…...
基于人工智能的音乐情感分类系统
目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 音乐情感分类是通过对音乐音频信号进行分析,识别出音乐传递的情感,如“愉快”、“悲伤”、“愤怒”等。该技术…...
MySQL灾难恢复策略:构建稳健的备份与恢复机制
在现代企业环境中,数据的安全性和可靠性至关重要。灾难恢复计划(Disaster Recovery Plan, DRP)是确保在发生灾难性事件后,能够迅速恢复业务的关键策略。对于依赖MySQL数据库的系统,实现有效的灾难恢复计划尤为重要。本…...
docker安装DVWA(巨简单)
拉取镜像docker pull vulnerables/web-dvwa 启动docker run --rm -it -p 80:80 vulnerables/web-dvwa dvwa:...
使用matplotlab绘制多条形图
##黑马程序学习 这种多个条形图放在一起的图形该怎么画呢? 请看以下代码 #横着的条形图 from matplotlib import pyplot as plt import matplotlib#设置显示中文 和 负号 matplotlib.rcParams[font.sans-serif][SimHei] matplotlib.rcParams[axes.unicode_minus]F…...
五、Selenium操作指南(二)
文章目录 四、获取页面元素属性(一)get_attribute获取属性(二)获取文本(三) 获取其他属性 五、页面交互操作(一)输入文本 send_keys()(二)点击 click()&#…...
Peewee+Postgresql+PooledPostgresqlDatabase重连机制
需求: Postgresql数据库服务重启后,需要业务代码正常读写数据库 方案: 通过继承playhouse.shortcuts.ReconnectMixin和playhouse.pool.PooledPostgresqlDatabase来创建一个新的ReconnectPooledPostgresqlDatabase类修改reconnect_errors属性来…...
IIS 反向代理模块: URL Rewrite 和 Application Request Routing (ARR)
需要设置iis反向代理的场景其实挺多的。例如websocket、Server Sent Events(SSE) 都需要反向代理。 对于需要临时放公网访问的应用,直接运行127.0.0.1的开发环境,然后通过反向代理访问127.0.0.1就可以了,省去麻烦的iis设置。 IIS 实现反向代…...
企业在选择CRM系统时需要注意哪些问题呼叫系统外呼系统部署搭建
在这个信息技术快速发展的时代,许多企业为了对客户进行有效的管理对CRM系统进行了实施。那么,有人会问了,企业在选择CRM系统是需要注意哪些问题呢?我们一起来看看 业务需求匹配:系统功能是否与企业当前及未来的需求相符ÿ…...
数据库水平分表方案
数据库分表有很多策略,如下: 数据库分表是处理大型数据库中数据量过大的一种常见策略,它可以提高查询性能、减少锁竞争、降低维护成本等。以下是一些常见的数据库分表方案: 1. **垂直分表(Vertical Partitioning&…...
MySQL表操作及约束
修改表 重命名: mysql> alter table user1 rename to user; 新增一列 mysql> alter table user add image_path varchar(128) comment 路径 after birthday; mysql> alter table user add image_path varchar(128) comment 路径 after birthday; Query…...
Redis 键值对操作全攻略
文章目录 一 . get 和 set二 . keys *三 . exists四 . del五 . expire六 . ttl七 . Redis 的 key 的过期策略八 . 定时器的实现8.1 基于优先级队列8.2 基于时间轮实现的定时器 九 . type十 . 数据库管理相关命令 Hello , 大家好 , 这个专栏给大家带来的是 Redis 系列 ! 本篇文章…...
【C语言】---- return的作用
return 是C语言中的一个关键字,用于从函数中返回值。它有以下几个作用: 1 返回值 return 用于将函数的结果返回给调用者。在函数执行过程中,当遇到 return 语句时,函数将立即停止执行,并将其后的表达式的值作为函数的…...
如何制作新生资料收集系统?
新学年伊始,学校需要高效收集学生信息和证件照。易查分提供了一个便捷的解决方案,通过创建一个集成信息和图片的收集系统,可以快速完成这项工作,并将信息导出为PDF,方便打印和存档。 制作步骤如下: 1. 准备…...
pyecharts可视化数据大屏
1. 简介 1.1. 概述 PyECharts 是一个用于生成 ECharts 图表的 Python 库。ECharts 是一款由阿里巴巴开发的开源 JavaScript 图表库,广泛应用于网页端的数据可视化。而 PyECharts 将 ECharts 的功能带到了 Python 环境中,使得 Python 开发者可以方便地在数据分析、机器学习等…...
uniapp - H5 在 UC 浏览器中返回上一页失效的解决方案
1. 前言 最近使用 uniapp 开发的 H5 在测试中遇到的问题:有A、B两个页面,反复从A页面进入B页面后,在B页面会存在返回函数失效问题。经过测试发现,如果反复进入B页面的参数相同,在第三次进入后,返回就会失效,不管是 uniapp 自带的头部导航,还是 uni.navigateBack API 都…...
利用KMeans重新计算自己数据集的anchor
在YOLOv5或YOLOv7中,anchors(锚框)是预设的一组不同大小、不同长宽比的边界框,它们用于在图像中的每个网格单元上进行偏移和缩放,以生成目标的候选框。这些anchors的设定对于提高目标检测的效率和准确性至关重要。 并…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...
