# 以对象方式描述类型
我们定义了一个对象接口:
interface Person {
name : string,
age: number
}
// 当我们想要定义一个对象时
const boy:Person={
name:'老王',
age:18
} // ok 没问题
// 但如果我们只是想要获取该接口 name 属性的定义呢?
const boyName:Person.name='老王' // 然而不行,编译器警告了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
解决方法:
1.变量引用
interface Person {
name : string,
age: number
}
const boyName:Person["name"]='老王' // 这样就可以了
1
2
3
4
5
2
3
4
5
2.命名空间
interface Person {
name : string,
age: number
}
declare namespace Person{
export type sex=string // 导出后就可以通过命名空间来访问
}
const boySex:Person.sex='男'
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8