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

typeScript 类型推论

什么是类型推论?

类型推论是 TypeScript 中的一个特性,它允许开发人员不必显式地指定变量的类型。相反,开发人员可以根据变量的使用情况让 TypeScript 编译器自动推断出类型。例如,如果开发人员将一个字符串赋值给一个变量,则 TypeScript 会推断该变量的类型为字符串。

换句话说,由于类型推论的存在,有些时候,ts的类型注解是可以省略不写的,
如下
在这里插入图片描述
自动推断出变量age为number类型,当尝试为age赋值字符串1时,报错
在这里插入图片描述

发生类型推论一般有两种场景,

  1. 声明变量并初始化
  2. 决定函数返回值时
  3. 对象中省略属性类型注释

如下
在这里插入图片描述
以及对象的类型推论
在这里插入图片描述

在这三种情况下,ts的类型注解是可以不写的,如果不知道类型是什么,可以通过将鼠标放在变量名上,vscode会给与提示

但是不推荐,因为不利于阅读

类型推论的最佳实践

尽管类型推论可以提高开发效率和减少代码冗余,但是在某些情况下可能会导致代码难以理解和维护。因此,在使用类型推论时,我们应该遵循一些最佳实践:

对于复杂的类型,应该使用类型注释。尽管类型推论可以推断出简单的类型,但是对于复杂的类型(如数组、对象、函数等),使用类型注释可以使代码更加清晰易懂。
对于可能引起混淆的代码,应该使用类型注释。在某些情况下,类型推论可能会导致代码的含义变得模糊。在这种情况下,使用类型注释可以使代码更加清晰易懂。
在使用第三方库时,应该使用类型注释。第三方库的函数和对象可能具有复杂的类型和参数,因此使用类型注释可以使代码更加清晰易懂。

http://www.lryc.cn/news/301724.html

相关文章:

  • JavaScript 设计模式之代理模式
  • JavaScript 对象判断
  • Android下SF合成流程重学习之onMessageInvalidate
  • 基于SpringBoot+WebSocket+Spring Task的前后端分离外卖项目-订单管理(十七)
  • 【Java多线程进阶】JUC常见类以及CAS机制
  • Python算法100例-1.7 最佳存款方案
  • ADO世界之FIRST
  • 【COMP337 LEC 5-6】
  • 力扣72. 编辑距离(动态规划)
  • linux tree命令找不到:如何使用Linux Tree命令查看文件系统结构
  • OJ_最大逆序差
  • MyBatis-Plus 实体类里写正则让字段phone限制为手机格式
  • K8S之运用污点、容忍度设置Pod的调度约束
  • Sora爆火,普通人的10个赚钱机会
  • 【C++】C++入门—初识构造函数 , 析构函数,拷贝构造函数,赋值运算符重载
  • 沁恒CH32V30X学习笔记04--外部中断
  • 基础IO[三]
  • Leetcode 392 判断子序列
  • 基于微信小程序的校园跑腿系统的研究与实现,附源码
  • VTK Python PyQt 监听键盘 控制 Actor 移动 变色
  • 力扣 第 124 场双周赛 解题报告 | 珂学家 | 非常规区间合并
  • 2024年华为OD机试真题-生成哈夫曼树-Java-OD统一考试(C卷)
  • 【实战】二、Jest难点进阶(二) —— 前端要学的测试课 从Jest入门到TDD BDD双实战(六)
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • HAL/LL/STD STM32 U8g2库 +I2C SSD1306/sh1106 WouoUI磁贴案例
  • 手机如何改自己的ip地址
  • ajax函数库axios基本使用
  • 【nginx实践连载-4】彻底卸载Nginx(Ubuntu)
  • 究极小白如何自己搭建一个自动发卡网站-独角数卡
  • Java_方法(重载方法签名等详解)