我已经声明了一个具有名称和lastName属性的接口学生。之后,我使用键创建了一个键,该键还声明了一个类型为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'
}
}发布于 2018-01-11 05:22:46
你的代码有什么问题?
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
}
}https://stackoverflow.com/questions/48200162
复制相似问题