首页 > 其他分享 >TypeScript type 关键字和 interface 关键字

TypeScript type 关键字和 interface 关键字

时间:2023-04-15 19:46:58浏览次数:57  
标签:TypeScript number TS 关键字 类型 interface type

前言

typeinterface 都可以声明 TS 类型。

type Point1 = {
  x: number;
  y: number;
};

interface Point2 {
  x: number;
  y: number;
};

它们两个声明这个对象类型有任何区别吗?很明显没有,我认为最能区分它们两个的标志是,type 有一个 = 赋值等号。

type

type 可以做类型运算,例如 TS 工具类型:

type Partial<T> = { [P in keyof T]?: T[P] | undefined; }

经过一系列 TS 类型运算,返回的结果赋值给 type 关键字声明的名称 Partial。TS 的工具类型都是由 type 关键字声明的。

type 可以声明联合类型、基本类型(string、boolean、number)、对象类型(Object、Function、Map 等)。

interface

下面是 interface 关键字的原文解释:

An interface declaration is another way to name an object type.

仔细品味,interface 关键字是另一种声明对象类型的方式。

标签:TypeScript,number,TS,关键字,类型,interface,type
From: https://www.cnblogs.com/Himmelbleu/p/17321703.html

相关文章

  • TypeScript 报错:Type '({ filename: string; createTime: string; filePath: string;
    问题:因为TypeScript不支持直接给一个接口类型的变量赋一个未知的值。如consta:A={ name:'s'};你需要给这样的对象或数组值使用as指定一个类型。正确写法:consta:A={ name:'s'}asA;数组写法一样:consta:A[]=[ { name:'s' }]asA[];使用as将一......
  • typescript vue3 VueDraggable 报错 Uncaught TypeError: Cannot read properties of
    UncaughtTypeError:Cannotreadpropertiesofnull(reading'element')nnotreadpropertiesofnull(reading'index')错误写法就是说子组件需要用div包着,你用其他东西,他无法添加key,然后就会报错。<template#item="{element}"><Todo:detail=......
  • TypeScript:高级类型
    class类型class类型,和Java差不多。classPerson{name:string;age:number=0;}letperson=newPerson();构造函数classPerson{name:string;age:number=0;constructor(name:string,age:number){this.name=name;this.age=age;......
  • TypeScript:函数兼容性问题
    函数兼容性大家在JS中经常可以看到这样的代码:lisr.forEach((item)=>{});lisr.forEach((item,index)=>{});就是()的参数有时是可以省略的,而这个正式函数的兼容性性质。说白了就是:多的函数=少的函数;参数少的函数可以赋值给参数多的举个下面例子:typeFun1=(num1......
  • 将天擎日志(unicode)推送到wazuh,识别关键字段,触发告警
    背景:使用wazuh对接安全系统日志,根据定义的敏感日志规则,触发告警,并在wazuhdashboard上展示wazuh版本:4.4天擎版本:v6 步骤:1.开启天擎syslog功能##在测试过程中,感觉天擎支持TCP、UDP两种协议,可以抓包看下是哪种协议。##我在设置514端口时,是TCP协议;513端口时,是UDP协议。 ......
  • TypeScript:字面量类型
    我是做Java的,看到这个字面量类型震惊我三观,原来设计类型可以这么草率。先说吧,字符串、数字、对象、布尔类型的常量值,可以作为字面量类型。是的,是常量值作为类型。举个下面例子:constname:'zhangsan'='zhangsan'constage:18=18constisMan:true=trueconstcar:{user:......
  • TypeScript:类型断言
    TS中有类型推断的机制,就是你不指定常量类型,TS会自动帮你推动,如下:但他这种推断机制,是基于高层的父元素,很多子元素的方法和属性使用用不到,这样我们得手动的进行类型断言,使用[as元素类型],如下:如果你不知道此标签的元素类型,可以通过下面的方式:找到自己知道类型的标签类型,指着......
  • 拼多多按关键字搜索商品 API
    一、拼多多平台优势:1、独创拼团模式拼团拼单是拼多多独创的营销模式,其特点是基于人脉社交的裂变传播,非常具有传播性。由于本身走低价路线,加上拼单折扣,商品的分享和人群裂变效果非常明显,电商前期最难在于吸引用户,拼多多初期利用低价拼团模式,快速大量的分享曝光可以把产品知名度很快......
  • Java-Day-8(方法重载 + 可变参数 + 作用域 + 构造方法 + this 关键字 )
    Java-Day-8方法重载(Overload)java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致在调用方法时,通过所给的参数来选择执行的是哪个方法重载好处减轻了起名的麻烦减轻了记名的麻烦注意细节方法名必须相同参数列表必须不同形参类型或个数或顺序,......
  • scala中private关键字用处
    scala语言很灵活;private关键字用法,初学者如果乍一看代码会很懵。总结一下,private关键字几点用法:1.用于修饰私有成员变量,如:classPerson(privatevarage:Int){  privatevarname;}注意类名之后的括号用于定义类的主构造器 2.用于表明当前成员变量是“对象私有字......