当前位置: 首页 > article >正文

ts总结2、any 类型,unknown 类型,never 类型(编译选项noImplicitAny)

一、any类型:any 类型表示没有任何限制,该类型的变量可以赋予任意类型的值

注意:变量类型一旦设为any,TypeScript 实际上会关闭这个变量的类型检查。即使有明显的类型错误,只要句法正确,都不会报错。

实际开发中使用的两个场景:

1、出于特殊原因,需要关闭某些变量的类型检查,就可以把该变量的类型设为any

2、为了适配以前老的 JavaScript 项目,让代码快速迁移到 TypeScript,可以把变量类型设为any。有些年代很久的大型 JavaScript 项目,尤其是别人的代码,很难为每一行适配正确的类型,这时你为那些类型复杂的变量加上any,TypeScript 编译时就不会报错。

从集合论的角度看,any类型可以看成是所有其他类型的全集,包含了一切可能的类型。TypeScript 将这种类型称为“顶层类型”

1.2、类型推断:对于开发者没有指定类型、TypeScript 必须自己推断类型的那些变量,如果无法推断出类型,TypeScript 就会认为该变量的类型是any

function add(x, y) {
  return x + y;
}

add(1, [1, 2, 3]) // 不报错
// 函数add()的参数变量x和y,都没有足够的信息,TypeScript 无法推断出它们的类型,就会认为这
两个变量和函数返回值的类型都是any

http://www.kler.cn/a/229713.html

相关文章:

  • pnpm + vite 从外网迁移到内网环境开发
  • 【推荐算法】userid是否建模
  • Java设计模式大全:23种常见的设计模式详解(一)
  • 【知识整理】一文理解系统服务高可用
  • Express框架介绍—node.js
  • 假期day4,链表增加与删除(2024/2/5)
  • 1、深度学习环境配置相关下载地址整理(cuda、cudnn、torch、miniconda、pycharm、torchvision等)
  • Unity之协同程序
  • 如何在HA智能家居系统中添加HACS集成并实现异地控制家中苹果与小米设备
  • Android Compose 一个音视频APP——Magic Music Player
  • [Linux] 网络编程套接字
  • ChatGPT Plus如何升级?信用卡付款失败怎么办?如何使用信用卡升级 ChatGPT Plus?
  • 算法学习——LeetCode力扣哈希表篇2
  • MIT_线性代数笔记:第 34 讲 总复习
  • vue3 之 商城项目—layout静态模版结构搭建
  • 网络版本计算器
  • MySQL5.7 百万数据迁移到 ElasticSearch7.x
  • LeetCode、790. 多米诺和托米诺平铺【中等,二维DP,可转一维】
  • 回归测试:在不断变化的环境中确保软件的稳定性
  • Python初学者学习记录——python基础综合案例:数据可视化——动态柱状图