我已经声明了一个具有name和lastName属性的接口Student。之后,我使用 keyof 创建了一个KEY,并声明了变量' help' KEY类型。
现在我正在初始化变量' help'使用名称然后就可以了,但是在使用lastName初始化时,我收到错误无法找到姓名' lastName' 。
interface Student {
name: string;
lastName: string;
}
class Greeter {
constructor() {}
greeting(): void{
type KEY = keyof Student;
let help: KEY;
help = name; // ok
help = lastName; // Cannot find name 'lastName'
}
}
答案 0 :(得分:4)
name
指向全局name
字符串:https://developer.mozilla.org/en-US/docs/Web/API/Window/name。可以将任何string
分配给help
对象。
正确例子:
interface Student {
name: string;
lastName: string;
}
class Greeter {
constructor() { }
greeting(): void {
type KEY = keyof Student;
let help: KEY;
help = 'name'; // ok
help = 'lastName'; // ok
help = 'asdf'; // ERROR
}
}