TS 学习(一)

news2024/9/21 20:36:46

 

如果我们在 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 也不能用

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

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

相关文章

鸿蒙(API 12 Beta6版)图形【过度绘制调试使用指导】方舟2D图形服务

当应用页面布局的嵌套程度过深时,应用渲染阶段会存在一些组件的绘制指令被其他组件的绘制指令部分或完全覆盖遮挡的情况,造成冗余的cpu、gpu等计算资源的使用。这种一个屏幕上的像素点被重复绘制了多次的情况被称为过度绘制(Overdraw&#xf…

Vite - 兼容旧版浏览器 plugin-legacy(2)

目录 1,问题2,解决3,String 其他新增 API 的版本 接上文 Vite - 兼容旧版浏览器 plugin-legacy(1) 1,问题 客户浏览器报错,不支持 replaceAll 方法。 该方法在 query-string 依赖内部使用了。…

通过生日计算年龄

// 获取当前月 function getDate(date) {let d new Date(date);// 将日期设置为下月一号d.setMonth(d.getMonth() 1);d.setDate(1);// 获取本月最后一天d.setDate(d.getDate() - 1);return d.getDate(); } // 获取年龄 传出生日期和当前日期,当前日期可以不用传 f…

双指针(1)_数组分块_移动零问题

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 双指针(1)_数组分块_移动零问题 收录于专栏【经典算法练习】 本专栏旨在分享学习C的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1.…

ELK学习笔记(二)——使用K8S部署Kibana8.15.0

上篇文章我们完成了,ES的集群部署,如果还没有看过上篇文章的兄弟,可以去看看。 ELK学习笔记(一)——使用K8S部署ElasticSearch8.15.0集群 话不多说,接下来直接进入kibana的搭建 一、下载镜像 #1、下载官方…

hackme靶机通关攻略

1、登录靶机,查询是否有注入点 2、判断闭合方式 输入OSINT and 11 # 输入OSINT and 12 # 得出闭合方式为单引号 2、查询数据库名 输入-1 union select database(),2,3 # 3、查询数据库中的表 输入-1 union select group_concat(table_name),2,3 from informa…

搜维尔科技:数据手套+机械手遥操作,五指触感灵巧手解决方案!

本灵巧手模仿人手的自由度分配及相关运动学参数进行设计的灵巧手,整手的手指设计采用了模块化的思想。整机重量轻,单指指尖抓取力强,五指灵巧手作为人体机器人或者机械臂末端操作工具,在工业生产的特殊环境中,对复杂形…

Spring事务(2)——@Transaction详解

目录 一、rollbackFor 结论: 二、事务隔离级别 1、MySQL 事务隔离级别(回顾) 2、Spring 事务隔离级别 三、Spring 事务传播机制 1、什么是事务传播机制? 2、事务的传播机制有哪些? 3、Spring 事务传播机制使用…

基于SpringBoot技术的家具网站设计与实现

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:SpringBoot框架 工具:Eclipse、Navicat 系统展示 首页 家具详情界面 购物车界面 订单…

Python 数据分析— Pandas 基本操作(上)

文章目录 学习内容:一、Series 创建及操作二、DataFram 的创建与操作三、Pandas 的读写操作四、选择指定行列数据 学习内容: 一、Series 创建及操作 ** Series : Pandas 的一种数据结构形式,可理解为含有索引的一维数组。** **(…

Python | Leetcode Python题解之第390题消除游戏

题目&#xff1a; 题解&#xff1a; class Solution:def lastRemaining(self, n: int) -> int:a1 1k, cnt, step 0, n, 1while cnt > 1:if k % 2 0: # 正向a1 stepelse: # 反向if cnt % 2:a1 stepk 1cnt >> 1step << 1return a1

【IPV6从入门到起飞】2-1 获取你的IPV6(手机、CPE等)

【IPV6从入门到起飞】2-1 获取你的IPV6&#xff08;手机、CPE等&#xff09; 1 IPV6就在身边2 手机IPV62.1 查看IPV62.2 IPV6 ping包测试2.3 IPV6入站测试 3 电脑通过CPE获取IPV63.1 拉不起宽带的打工人3.2 开始部署IPV6环境3.2.1 刷系统3.2.2 激活IPV63.2.3 设置防火墙入站&am…

Opencv实现提取卡号(数字识别)

直接开始 实行方法 解析命令行参数&#xff1a;使用argparse库来解析命令行输入&#xff0c;确保用户提供了输入图像和模板图像的路径。 读取模板图像&#xff1a;使用cv2.imread()函数读取模板图像的路径&#xff0c;并显示原始图像。 图像预处理&#xff1a; 将图像转换为…

ARM——结构体系(处理器工作模式,CPSR,立即数,汇编语言函数调用)

1、处理器工作模式 ARM有7个基本工作模式: User:非特权模式&#xff0c;大部分任务执行在这种模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式 IRQ:当一个低优先级(normal)中断产生时将会进入这种模式 Supervisor:当复位或软中断指令执行时将会进入这种模式 Abort:当存…

CAN总线数据帧的帧结构

CAN总线中的信息是以固定格式的“帧”发送的&#xff0c;当总线为空闲时&#xff0c;任何已连接的节点都可以开始发送一个新的“帧”。 在一个CAN系统中&#xff0c;数据在节点之间的发送和接收主要通过四种不同类型的“帧”来执行和控制。这四种类型分别是数据帧、远程帧、错…

探索ArrayList的线程不安全性

文章目录 概要示例代码原因解决用 synchronized 保证安全添加元素其他方法 总结 概要 要测试ArrayList的线程不安全性&#xff0c;可以创建多个线程同时对 ArrayList 进行修改操作&#xff08;如添加、删除元素&#xff09;&#xff0c;并观察是否会引发异常或数据不一致的问题…

Typescript实现react-redux的useSelector和useDispatch的状态定义

背景&#xff1a;react中使用typescript,在引入redux之后很多状态定义有问题&#xff0c;记录下来&#xff08;文章记录学习react-redux过程中的踩坑&#xff09;。 1.useSelector时&#xff0c;state语法报错&#xff0c;类型为unknown,如下图 我的store状态设置的很简单&am…

Luminar Neo for Mac智能图像处理软件【操作简单,轻松上手】

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功 三、运行测试安装完成&#xff01;&#xff01;&#xff01; 效果 一、下载软件 下载软件…

【机器学习】LSTM(长短期记忆网络)详解

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 LSTM(长短期记忆网络)详解LSTM的基本思想LSTM的前向传播过程LSTM在实际任务中的…

mysql高级知识之集群

一、安装 源码编译MySQL,若需要MySQLtar包可私信我 #创建数据目录 mkdir /data/mysql -p#安装相关依赖 yum install libtirpc-devel-0.2.4-0.16.el7.x86_64.rpm yum install cmake gcc-c++ openssl-devel ncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm rpcgen…