typescript任意类型

2023-11-13

1.any类型,如果不声明类型,会自动设置为any类型,但是会失去TS类型检测的作用

let anys:any = 'str'

anys = 123

anys = {}

anys = true

anys = []

anys = Symbol('123')

2.unknown类型

let unknown:unknown = 'str'

unknown = 123

unknown = {}

unknown = true

unknown = []

unknown = Symbol('123')

3.区别

let boy:any = {age:12}

console.log(boy.age)  //输出12

let girl :unknown= {name:'小芳'}

console.log(girl.name) //报错

any类型的对象可是调用对象属性和方法,unknown类型则不可以,所以unknown要比any要安全,所以在项目中可以多使用unknown类型

tips:

let str : string= '124'

let str2 : any = '456'

str = str2  //正确

let str3: unknown = '678'

str = str3  //报错

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

typescript任意类型 的相关文章

  • JavaScript 添加布尔值

    console log true true 2 console log typeof true true number console log isNaN true true false 为什么两个布尔类型相加会产生一个数字 我有点理解 如
  • 浏览器视口大小(以设备像素为单位)

    Goal 我希望 Flash 能够获得有关浏览器视口宽度和高度 以设备像素为单位 的准确信息初始化 调整大小或浏览器缩放事件时 规格 我需要将 flash 嵌入到在 chrome safari firefox 等中运行的 html 页面中
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • Firebase,只得到新的孩子[重复]

    这个问题在这里已经有答案了 var firebase new Firebase firebaseRef on child added function snapshot 这将接收所有元素 有没有办法在创建新的 Firebase 引用时不接收
  • 位置特征检测:固定

    我正在尝试找到一个脚本来检测设备是否放置position fixed元素相对于视口而不是整个文档 目前 标准桌面浏览器和 Mobile Safari 适用于 iOS 5 都是这样做的 而 Android 设备则相对于整个文档放置固定元素 我
  • 通过 JavaScript 获取表单名称

    我有一个简单的问题 但我在网上找不到好的解决方案 我有这个 HTML 代码
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • JavaScript推送函数中的动态变量

    我在 JavaScript 中使用推送功能 var chartData for var i 0 i lt 3 i chartData push date new Date year s mon s date s hr s min s sec
  • 如何使用 Javascript 设置查询字符串

    有没有办法使用 javascript 设置查询字符串的值 我的页面有一个过滤器列表 单击该列表时 它将更改右侧的页内结果窗格 我正在尝试更新 url 的查询字符串值 因此如果用户离开页面 然后单击 后退 按钮 他们将返回到最后一个过滤器选择
  • 使用 JavaScript 移动页面上的按钮

    我的按钮可以移动 但奇怪的是 我无法弄清楚偏移是否有问题 我希望我的按钮随着鼠标光标移动 但现在它的移动方式不是我想要的 有时它会消失 另外 创建的新按钮是重叠的 我不知道如何解决这个问题并拥有更好的外观 var coorA var coo
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • 用于选择特定 div 中具有特定类的锚元素的 jQuery 选择器是什么

    我有一些这样的代码 我想选择每个 a 带有类的标签status在 div 中foo div a class status a div 你可以这样做 foo find status a
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • 使用 Enzyme 测试 `React.createRef` api

    我想测试下面的类 它使用React createRef api 不过 快速搜索并没有发现任何这样做的例子 有人成功过吗 我该如何嘲笑裁判 理想情况下我想使用shallow class Main extends React Component
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 如何从 json 文件创建模型? (ExtJS)

    这是我想使用 json 文件创建的模型 Ext define Users extend Ext data Model fields name user id type int name user name type string 为了根据服

随机推荐

  • 系统设计.秒杀系统

    秒杀 秒杀是以压倒性优势一招致命或在极短时间 比如一秒钟 内解决对手 或者称瞬秒 瞬间秒杀 该词最初来自网络游戏 形容一瞬间杀死一个游戏角色之快 电商系统中的秒杀是指 短时间内抢够商品的场景 这是一个营销策略 通常销售时间区间较短 价格稍低
  • 硅谷裁员10万人,一个时代结束了!

    见字如面 我是军哥 2022年7月 微软宣布裁员计划 裁员规模不超过18万员工总数的1 并于10月18日 试裁 1千人左右 11月10日 Meta的创始人兼CEO扎克伯格发布全员信 确认公司将裁员逾11000人 这是这家科技巨头18年来历史
  • 李雅普诺夫函数设计

    一 线性时不变系统 1 1 原理 对于线性时不变系统 x A
  • 一天内时针和分针重叠的次数

    一天内时针和分针重叠的次数 这是一道谷歌面试题 答案是22次 分别是上午 12 00 1 05 2 11 3 16 4 22 5 27 6 33 7 38 8 44 9 49 10 55 下午12 00 1 05 2 11 3 16 4 2
  • 动态链接库中函数的地址确定---PLT和GOT

    动态链接库中函数的地址确定 PLT和GOT 2012 09 16 20 27 42 分类 C C 前面写过动态链接库 延迟绑定的一篇博文 那篇文章我非常喜欢 但是当时刚搞清楚 自己写的比较凌乱 我最近学习了Ulrich Drepper的Ho
  • Android:寒冬已至?真正厉害的人永远没有寒冬,一次关于JVM的面试经历

    1 3 Android开发的天花板 很多人会觉得Android技术深度不深 技术栈不庞大 Android职业发展有限 这个真是大大的误解 先说技术上 Android的技术栈随着时间的推移变得越来越庞大 细分领域也越来越多 主要有Androi
  • js创建 tcp 服务器史上最快教程

    实现步骤 第一步 引入相应的包 第一步 导入net包 var net require net 第二步 创建服务器 第一步 导入net包 var net require net 第二步 创建服务器 var server net createS
  • cad尺寸标注快捷键_CAD快速标注方法你知道几种?

    CAD标注是快速出图的关键 尺寸标错 都会导致加工产品出错 那么如何快速准确地进行标注呢 这里给大家整理了CAD标注的一些方法 你知道几种呢 一 CAD自带一键标注方法 1 CAD一次性标注 qdim 输入快捷键qdim 框选需要标注的对象
  • Python 银行信用卡客户流失预测(kaggle)

    1 背景 越来越多的客户不再使用信用卡服务 银行的经理对此感到不安 如果有人能为他们预测哪些客户即将流失 他们将不胜感激 因为这样他们可以主动向客户提供更好的服务 并挽回这些即将流失的客户 2 数据集 该数据集由10 000个客户组成 其中
  • 开关电源一】电源拓扑之buck、boost、buck-boost

    目录 1 BUCK变换器 1 1 Buck电路工作原理 1 2 Buck电路输入输出关系推导 2 BOOST变换器 2 1 Boost电路工作原理 2 2 Boost电路输入输出关系推导 3 BUCK BOOST变换器 3 1 Buck B
  • shell脚本操作

    一 Shell介绍 Shell 和python都是弱语言 定义变量规则 变量名 值 1 shell定义变量的规则 1 等号两边不能有空格 2 定义特殊的变量需要用单引号或者双引号结合 3 定义linux命令需要用反单引号 区分单引号和双引号
  • DIV怎么自动添加滚动条?并给滚动条添加样式

    一 如何实现当DIV里的内容超过DIV的高度 DIV会自动添加滚动条 1 div的style设置了overflow auto后 当DIV里的内容超过DIV的高度 DIV会自动添加滚动条 拉动滚动条才能看到底 2 overflow y属性指定
  • 如何用VUE从零创建网站

    1 如何建一个网站 围绕主题 查看一些大型网站是如何设计的 自己对主题有一定了解后 设计草图 包括功能 逻辑跳转 页面大致排版等 项目成员和老师对草图设计提出意见 再进行修改 最后才到正式开发 网站推荐 松果互联 免费高级WordPress
  • 如何用手机做兼职赚钱?教你利用闲鱼赚取生活费!

    众所周知 越来越多的人光靠朝九晚五的工作薪资 已经远远满足不了生活需求 所以越来越多的人在找一些靠谱的兼职去提高收入 不过网络上的兼职多种多样 有些人通过兼职挣了些钱 而大部分人则被各种 套路 不仅没挣到钱 还被收了智商费 像网上流行的什么
  • Eclipse不能启动:JVM terminated. Exit code=-1

    JVM terminated Exit code 1 Dosgi requiredJavaVersion 1 5 Xms40m Xmx512m XX MaxPermSize 256M Djava class path D eclipse p
  • 你期待的Photoshop 2022中哪个功能吸引了你?

    万众瞩目的2022年已经到来 那些大软件的最新大版本也陆续走到我们的面前 看到很多人都在追捧的期待Photoshop 2022 你知道ta具体有哪些变化么 来看看吧 创意世界在 Photoshop 上运行 全世界数以百万计的设计师 摄影师和
  • Java入门(4)——常见的String方法

    考虑到API当中的解释 新手可能有点看不懂 我刚开始就是不太看得懂 最好的学习方法当然是是自己一个一个去试一遍 然后就可以加深印象 然后 这是我当初学习的时候用自己的大白话做的笔记 现在查阅的话我还是喜欢看自己做的这些笔记 如果我有什么理解
  • VS2022的简单设置

    一 创建一个C C 的VS新项目 1 单击右侧 创建新项目 2 语言选择 C 选择 所有平台 桌面 选择 windows桌面向导 最单击下一步 3 为项目取一个名字 放在合适的位置上 单击 创建 在弹出的窗口点击 空项目 最后单击完成 完成
  • DataX :文本文件 -> mysql 的使用及安装教程

    DataX安装环境准备 jdk1 6以上 python2 0 DataX安装 1 官网下载DataX https github com gkbattle13 DataX 点击Download下载地址 2 解压DataX tar zxvf d
  • typescript任意类型

    1 any类型 如果不声明类型 会自动设置为any类型 但是会失去TS类型检测的作用 let anys any str anys 123 anys anys true anys anys Symbol 123 2 unknown类型 let