type 和 interface 异同

1、interface

interface 接口 用于定义对象类型,可以对对象的形状进行描述

// 定义
interface Person {
  name: string
  age: number
}

// 使用
const person: Person = {
  name: 'lin',
  age: 18,
};

2. type

type 类型别名, 顾名思义 是给类型起一个新的名字

它并不是一个类型, 只是一个别名而已

// 定义
type Person = {
  name: string;
  age: number;
}

// 使用
const person: Person = {
  name: 'lin',
  age: 18,
};

3. 相同点

3.1 都可以定义一个对象或函数

定义函数如下所示

// 使用 type 定义
type addType = (num1: number, num2: number) => number;

// 使用 interface 定义
interface addType {
  (num1: number, num2: number): number;
}

// 上面这两种写法都可以定义函数类型,效果是一样的

// 使用
const add: addType = (num1, num2) => {
  return num1 + num2;
};

3.2 都允许继承 ex

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值