首页 > 其他分享 >ts中的type 和 interface 区别

ts中的type 和 interface 区别

时间:2024-05-15 09:44:42浏览次数:14  
标签:name ts number User interface type string

  1. type 可以用来给一个类型起个新名字,当命名基本类型或联合类型等非对象类型时非常有用, 而接口不行
    type MyNumber = number;
    type StringOrNumber = string | number;
    type Text = string | string[];

2 类型别名通过 &(交叉运算符)来扩展,而接口通过 extends 的方式来扩展。都可以进行扩展
a 类型别名
type Animal = {
name: string
}

type Bear = Animal & {
honey: boolean
}

b 接口扩展

interface Animal {
name: string
}

interface Bear extends Animal {
honey: boolean
}

3 同名接口会自动合并,而类型别名不会
a 同名接口

interface User {
name: string;
}

interface User {
id: number;
}

let user: User = { id: 666, name: "阿宝哥" };

b 类型别名
type User = {
name: string;
};

// 标识符“User”重复。ts(2300)
type User = { //Error
id: number;
};

参考文献: https://blog.csdn.net/Jadon_z/article/details/134282333

标签:name,ts,number,User,interface,type,string
From: https://www.cnblogs.com/zw100655/p/18192942

相关文章

  • rockchip uboot 应用dts overlays
    提供一种基于rkSDKbuildroot使用dtbo的方法简单说明:uboot中默认加载default-dtb-overlay.dtboapp/dtbo-tools/S03checkDTBO开机检查拨码开关,并将/boot/overlays/default-dtb-overlay.dtbo链接到目标dtbo,有效的dtbo名全部存放于dtbo_table变量中build.sh中:新增dtbo编译选项......
  • How to Solve VAS 6154 Interface License Expired: Unleash Your Automotive Diagnos
    WelcometoourcomprehensiveguideonresolvingtheVAS6154InterfaceLicenseExpiredissue.Ifyou'reanautomotiveenthusiastorprofessional,chancesareyou'veencounteredthisfrustratingproblemduringyourdiagnosticendeavors.Butfret......
  • 3-DOCTYPE和lang以及字符集的作用
    在开发工具中创建文件时会自动生成骨架结构并附带一些常用设置,例如:点击查看代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0">......
  • TypeScript 中,type 和 interface 定义自定义类型的区别
    在TypeScript中,type 和 interface 都用于定义自定义类型,但它们有一些不同之处。主要区别在于以下几点:语法差异:type:使用 type 关键字来定义类型别名,语法相对简洁,适合用于定义具体的类型结构或组合现有类型。interface:使用 interface 关键字来定义接口,语法更为正式,可......
  • TypeScript 的联合类型、交叉类型、映射类型
    当使用TypeScript时,联合类型、交叉类型和映射类型是常见的高级类型概念,它们提供了强大的工具来处理各种复杂的类型情况。###联合类型(UnionTypes):联合类型允许一个值属于多个类型之一。使用`|`符号来表示联合类型。例如:```typescriptletvalue:string|number;value="......
  • TypeScript 中,元组(Tuple)
    在TypeScript中,元组(Tuple)是一种特殊的数据结构,它允许你表示一个固定长度的、类型确定的数组。与普通的数组不同,元组中的每个位置可以拥有不同的数据类型。元组的定义方式是将多个类型用逗号分隔,然后用方括号 [] 将它们括起来。例如:letmyTuple:[string,number,boolean];......
  • TypeScript 枚举类型(enum),声明常量
    enumErrorShowType{ SILENT=0, WARN_MESSAGE=1, ERROR_MESSAGE=2, NOTIFICATION=3, REDIRECT=9,} 这是一个枚举类型(enum)的定义,名为ErrorShowType。枚举类型是一种数据类型,它允许你定义一组命名的常量值。在这个例子中,ErrorShowType枚举类型包含......
  • pandas读取CSV文件时出现警告:DtypeWarning: Columns (2) have mixed types. Specify d
    问题描述:用pandas清洗数据时发现爆出告警,且清洗出来的数据大小格式不对DtypeWarning:Columns(2)havemixedtypes.Specifydtypeoptiononimportorsetlow_memory=False意思是第二列出现类型混乱,原因如下pandas读取csv文件默认是按块读取的,即不一次性全部读取;另外pand......
  • TypeScript 的声明文件 xxx.d.ts
    在TypeScript中,declare 关键字用于创建类型声明,它告诉编译器某些变量已经存在,但是在编译时不会进行实际的生成代码操作。它通常用于描述外部的、已存在的JavaScript代码的结构和类型,或者用于定义全局变量、函数、类等,以便在TypeScript项目中进行类型检查和代码提示,但不会在最......
  • TypeScript类型断言
    proxy:proxy[REACT_APP_ENVaskeyoftypeofproxy],这行代码看起来是在设置代理服务器的配置,通常在React应用中使用。让我逐步解释它:proxy 是一个对象,用于配置代理服务器的相关信息。[REACT_APP_ENVaskeyoftypeofproxy] 这一部分是一个属性访问表达式,它使用了Ty......