TypeScript——类型别名(type)

news/2024/7/5 2:58:49

类型别名

type 关键字,用来给一个类型起个新名字

定义类型别名

type str = string

let s: str = '我是张三'

console.log(s)

定义联合类型别名

type item = string | number

let arr: item[] = [1, 'zs']

console.log(arr)

interface与类型别名

两者可以被继承

  • interface 继承 interface
interface Person {
  name: string
}

interface Student extends Person {
  stuNo: number
}

  • interface 继承 type
type Person = {
  name: string
}

interface Student extends Person {
  stuNo: number
}
  • type 继承 type
type Person = {
  name:string
}

type Student = Person & { stuNo: number }
  • type 继承 interface
interface Person{
  name:string
}

type Student = Person & { stuNo: number }

interface的继承通过extends, type 通过 & 交叉类型合并

声明合并

如果你多次声明一个同名的接口,TypeScript 会将它们合并到一个声明中,并将它们视为一个接口。这称为声明合并

interface Person {
  name: string
}
interface Person {
  age: number
}

let user: Person = {
  name: 'zs',
  age: 18,
}

这种情况下,如果是type的话,重复使用Person是会报错的

type Person = {
  name: string
}

type Person = {
  age: number
}

interface 重名会进行合并,type 不行,会报错,只能声明一次


http://lihuaxi.xjx100.cn/news/1284955.html

相关文章

模板匹配

模板匹配 模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与图像窗口的差异程度,然后将每次计算的结果放入一个矩阵,最后作为结果输出。假设原图像大小为A * B,模板大小为a * b,则输出结果…

Docker 配置 vins-mono

前提条件&#xff1a;物理机上安装好ROS和Docker&#xff0c;参考 http://wiki.ros.org/ROS/Installation Ubuntu Docker 安装 | 菜鸟教程 Docker 换源 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["镜像…

Rancher集群搭建

前言 随着容器的普及和Kubernetes 的日渐成熟&#xff0c;企业内部运行多个Kubernetes 集群已变得颇为常见&#xff0c;然而部署kubernetes集群的方式也多样化&#xff0c;二进制部署、rancher、kubeadm、minikube等。然而本篇文章主要讲解的是如何使用rancher快速部署一个k8s集…

解释索引、事务、SQL优化等相关概念,并能够应用它们来解决实际问题

当涉及数据库和SQL的面试时&#xff0c;了解和应用以下概念可以提升你作为后台开发工程师的竞争力&#xff1a; 1. 索引&#xff1a; - 索引是一种数据结构&#xff0c;用于加速数据库的查询操作。 - 索引可以根据某个列或一组列的值进行排序&#xff0c;并提供快速访问…

一文学会Python安装和基础语法-全程干货

安装Python程序 官网Python下载地址&#xff1a;Python Releases for Windows | Python.org 安装3.7版本即可&#xff0c;版本升级可能会有较小的改动&#xff0c;下面要学习的都以python3.7为例 下载安装包之后直接双击无脑安装即可 新手经常遇到的问题&#xff1a; 1.符号…

win如何使用OpenSSL生成自签名证书,使 http 升级为 https

win如何使用OpenSSL生成自签名证书&#xff0c;使 http 升级为 https 前言 HTTPS其实就是HTTP over SSL&#xff0c;也就是让HTTP连接建立在SSL安全连接之上。 创建自签名证书需要安装openssl。参考本文安装OpenSSL部分。 使用OpenSSL生成自签名证书的步骤&#xff1a;参考…

Rtree实现对带半径的点聚类

业务上碰到了需要对圆做聚类的场景 sklearn现在的聚类方法dbscan(支持自定义距离公式&#xff0c;但是性能影响巨大 kdtree(不支持自定义距离计算 google、百度无果 思考用rtree实现 参考: https://zhuanlan.zhihu.com/p/62639268 计算过程 # 数据构建 num_points 200000 c…

360手机打开USB调试+文件传输

360手机USB调试文件传输[用户版] 参考&#xff1a;360手机-360刷机360刷机包twrp、root 360刷机包360手机刷机&#xff1a;360rom.github.io 【前言】 *360手机USB调试 &#xff0c;必须提前打开“开发者模式USB调试”进行 【操作流程】 打开&#xff1a;开发者模式、USB调…