TypeScript--类型问题汇总

2023-11-05

学过js你认识的类型:booleannumberstringundefinednullsymbolobject

你可能不认识的类型:voidanyunknownnever

  • 类型声明是TS非常重要的一个特点,通过类型声明可以指定TS中变量(参数、形参)的类型。指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错
  • TS拥有自动的类型判断机制:当对变量的声明和赋值是同时进行的,TS编译器会自动判断变量的类型,所以如果你的变量的声明和赋值时同时进行的,可以省略掉类型声明
  • js中的函数是不考虑参数的类型个数的,而TS的函数参数不仅限制个数还限制类型。

我们先来看看,TypeScript给变量指定类型的语法(类型注解)是什么

对象

一般来说,我们对于对象的类型检查一般是检查对象中有哪些属性,属性是什么类型。

可以用{} 来指定对象中可以包含哪些属性 语法:{属性名: 属性类型, ...}

属性多了少了都不行

可选属性,在属性名后面加一个 ?

let obj: {name: string, age?: number}
obj = {name: 'yk', age: 18}
obj = {name: 'yk'}

如果后续属性不确定叫什么名字,也不确定是什么类型,那么可以这样写[propName: string]: unknown

// 定义对象结构
let obj: { name: string, [propName: string]: u
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TypeScript--类型问题汇总 的相关文章

随机推荐

  • Audio采样率相关计算

    根据采样率计算buffer duration audio buffer的时长和timestamp在知道采样率的情况下是可以直接计算的 这里假设采样率是44100 那么以微妙为单位 1秒等于1000000微妙 一个采样的时间计算出来就是22微
  • 驼峰转下划线

    一 定义Student实体类 包含如下字段 public class Student private String name private Integer age private Date date JSONField name orde
  • c++day3

    stack h ifndef STACK H define STACK H include
  • 详解dp - 最长回文子序列

    给定一个字符串 s 找到其中最长的回文子序列 并返回该序列的长度 可以假设 s 的最大长度为 1000 类似问题 最长回文子串 首先找出状态转移方程 table i j table i 1 j 1 2 if s i s j else tab
  • SQLAlchemy链接池的使用

    1 倒入需要的模块 from sqlalchemy import create engine from sqlalchemy orm import sessionmaker from sqlalchemy pool import Queue
  • 关于element-ui的el-dialog页面不居中问题

    el dialog 貌似不设置样式的时候默认不居中显示 如下所示 有很多地方是需要用到居中的 并且比较美观 所以我修改了以下代码 gt gt gt 是为了样式穿透 gt gt gt el dialog display flex flex d
  • canvas实现跟随鼠标和跟随手指粒子特效

    原文出处 https blog csdn net IForDreams article details 75453450 效果图 代码
  • TTL值的含义以及与域名DNS TTL值的区别

    什么是TTL TTL是IP协议包中的一个值 被称为跳数 指定数据报被路由器丢弃之前允许通过的网段数量 在很多情况下数据包在一定时间内不能被传递到目的地 解决方法就是在一段时间后丢弃这个包 然后给发送者一个报文 由发送者决定是否要重发 TTL
  • 【Python 1-8】Python手把手教程之——列表List的管理

    作者 弗拉德 来源 弗拉德 公众号 fulade me 在上一节我们学习了如何创建一个列表 在列表里面插入 删除数据等操作 本节我们学习如何管理列表 遍历列表 在日常开发中 我们经常需要遍历列表的所有元素 对每个元素执行相同的操作 例如 在
  • 什么是 Thread 的中断标志?

    分析 回答 什么是 Thread 的中断标志 中断 interrupt 标志或中断状态是线程中断时设置的内部线程标志 flag 属性 怎么设置中断标志 要设置一个线程的中断标志 只需要简单的在线程对象上调用 thread interrupt
  • radius服务器无响应,radius认证(radius认证超时)

    radius认证 RADIUS是英文 RemoteAuthenticationDialInUserService 的缩写 是网络远程接入设备的客户和包含用户认证与配置信息的服务器之间信息交换的标准客户 服务器模式 它包含有关用户的专门简档
  • Mac系统上配置Vue.js环境

    在Mac系统上配置Vue js环境非常麻烦 幸运地找到了教程http www mamicode com info detail 1786370 html 第一步 Mac OS系统安装 brew 在终端运行 usr bin ruby e cu
  • 纯CSS实现导航栏下拉动画效果

    实现思路 导航栏的下拉效果通过在ul的li里再嵌套一个ul 再通过animation属性改变第二导航栏ul的高度来实现导航栏下拉动画效果 老铁没毛病 实现效果 HTML代码 div class nav ul li a href 奥利给 a
  • PHP-代码执行函数-命令执行函数

    目录 代码执行函数 1 eval 函数 2 assert 函数 3 call user func 函数 4 create function 函数 5 array map 函数 6 call user func array 函数 7 arra
  • 哲理故事300篇(中)

    哲理故事300篇 上 http blog csdn net andylin02 archive 2006 08 23 1109314 aspx 哲理故事300篇 下 http blog csdn net andylin02 archive
  • LeetCode动态规划—跳跃游戏从跳到头到跳最少下跳到头(45、55)

    跳跃游戏 跳跃游戏 跳跃游戏 跳跃游戏 一个下标对应的值为3 那证明这个位置可以跳到前后3个位置的下标处 3均可达 如果依次遍历完这个数组 有下标在跳跃过程中最远位置仍然不可达 即证明无法到达最后一个位置 可以对每一个能作为 起跳点 的格子
  • 通讯录管理系统(C++)

    目录 1 功能分析与实现步骤 2 代码编写 2 1 联系人和通讯录结构体设计 2 2 通讯录页面 2 3 添加联系人 2 4 显示所有联系人 2 5 检测联系人 2 6 删除指定联系人 2 7 查找指定联系人 2 8 更改指定联系人 2 9
  • onu光功率多少是正常_发射光功率和接收灵敏度对光模块有什么影响

    我们在选购光模块需要留意发射光功率和接收灵敏度这两个参数 因为这两项参数是确保光模块正常通信关键因素之一 下面易天光通信 ETU LINK 就给大家介绍发射光功率和接收灵敏度分别是什么 以及如何测试光模块的光功率在正常范围呢 深圳易天光通信
  • python ssh登录偶然认证失败_paramiko.ssh_异常.AuthenticationException:身份验证失败

    import paramiko class SSHConnection object def init self host username password port 22 self sftp None self sftp open Fa
  • TypeScript--类型问题汇总

    学过js你认识的类型 boolean number string undefined null symbol object 你可能不认识的类型 void any unknown never 类型声明是TS非常重要的一个特点 通过类型声明可以