对于复合属性,我们可以使用type自定义类型
type Article = {
title: string,
price: number,
vat: number,
stock: number,
description: string
}
当给这个类型的变量赋值时,如果缺少某个属性,TS会用红线标出来
如果某个属性是多余的,也会标出来
但是,如果你提前声明一个对象,这个对象包含了Article需要的所有属性,即使有多余的属性,
将它赋值给Article类型的变量,TS不会报错
但是你想在VSCode里读取这个多余的属性是不行的(编译运行时这个多余的属性还是存在的)
将对象作为函数参数同理,即使有多余的属性也不会报错
但是你读取不到这个多余的属性