有没有不实例化User类的方法去获取User类的全部属性key。
时间: 2023-08-02 20:11:33 浏览: 115
使用layer弹窗,制作编辑User信息页面的方法
有的,你可以使用 TypeScript 的反射 API 来获取 User 类的全部属性 key,而不需要实例化 User 类。具体来说,你可以使用 `keyof` 操作符来获取 User 类的所有属性名,并将其存储在一个字符串数组中。以下是一个示例代码:
```typescript
class User {
id!: number;
username!: string;
password!: string;
}
type UserKeys = keyof User;
const keys: UserKeys[] = ['id', 'username', 'password'];
keys.forEach((key) => {
const typeOfKey: string = typeof key;
console.log(`${key}: ${typeOfKey}`);
});
```
在上面的代码中,我们首先定义了一个 `User` 类,它有三个属性:`id`、`username` 和 `password`。然后,我们使用 `keyof User` 来获取 User 类的所有属性名,并将其存储在 `UserKeys` 类型中。接下来,我们定义了一个 `keys` 数组,它包含了所有的属性名。最后,我们遍历了 `keys` 数组,并使用 `typeof` 操作符获取每个属性名的类型,并输出到控制台中。
这样,你就可以获取 User 类的全部属性 key 了,而不需要实例化 User 类。
阅读全文