在ts中如果获取interface的字符串
时间: 2024-09-14 13:03:05 浏览: 111
在TypeScript (TS) 中,如果你想要获取一个接口的字符串表示形式(通常用于打印、调试或序列化),你可以使用`JSON.stringify()`方法,但它默认不会直接返回接口的字符串形式。因为TypeScript的接口不像JavaScript那样可以直接转换为字符串,你需要先创建一个实现了该接口的对象,然后才能通过`JSON.stringify()`获取其字符串表示。
例如:
```typescript
// 定义一个接口
interface Person {
name: string;
age: number;
}
// 创建一个接口实例
let person: Person = { name: 'John', age: 30 };
// 转换为字符串
let personString = JSON.stringify(person);
console.log(personString); // 输出: '{"name":"John","age":30}'
```
如果你想直接得到接口的字符串表示,可以自定义一个函数来格式化:
```typescript
function getInterfaceNameAsStr(interfaceObj: any): string {
return JSON.stringify({ [Symbol.toStringTag]: interfaceObj.name }, null, 2);
}
let personInterfaceStr = getInterfaceNameAsStr(Person);
console.log(personInterfaceStr); // 输出类似: "Person"
```
这里我们使用了`Symbol.toStringTag`属性来获取接口名称,并添加了一些缩进使其更易读。
阅读全文