keyof

// 在TypeScript中,`keyof`是一个操作符,

// 它允许你从一个类型中提取所有的可枚举属性名,并将它们组成一个联合类型。

// 例如,假设你有这样一个类型:

type Person = {

  firstName: string;

  lastName: string;

  age: number;

};

// 那么,`keyof Person`将会返回`"firstName" | "lastName" | "age"`的联合类型,

// 因为这些都是`Person`类型的可枚举属性名。

// 你可以使用`keyof`操作符来进行一些有用的检查,例如确保某个变量只包含一个特定类型中的某个属性:

function getProperty(obj: T, key: K): T[K] {

  return obj[key];

}

let person: Person = { firstName: "Alice", lastName: "Smith", age: 30 };

console.log(getProperty(person, "firstName")); // 输出: 'Alice'

console.log(getProperty(person, "middleName")); // 报错,因为'Person'类型中没有'middleName'属性

// 在这个例子中,`getProperty`函数接受一个对象和一个属性名,并返回那个属性的值。

// 但是,如果传递的属性名不在指定的对象类型中,则会抛出错误。

你可能感兴趣的:(#,ts,javascript,前端,vue.js)