TypeScript的核心原则之一是对值所具有的结构(对象or数组or…中的字段值)进行类型检查
1. 基础的类型约束接口
// 可以使用 interface 关键字定义函数中传入的字段进行检验
interface LabelledValue {
label: string;
}
// 也可以不使用interface 直接在函数中定义
// function printLabel(labelledObj: { label: string }) {
function printLabel(labelledObj: LabelledValue) {
console.log(labelledObj.label);
console.log(labelledObj.size);// 报错
// 报错原因是因为 ts 中先会对调用的函数进行检查,只会对用到的变量,字段值进行检查,看是否有进行类型约束
}
let myObj = {
size: 10, label: "Size 10 Object"};
printLabel(myObj);
2. 可选属性
interface SquareConfig {
// 在类型前面加上 ? 代表此类型或者此字段有一定几率会在函数中使用(根据客户操作的不同,传入的变量