我已经声明了一个接口 Student,它具有 name 和 lastName 属性。之后,我使用keyof创建了一个KEY,还声明了一个KEY类型的变量'help'。
现在我用 name 初始化变量 'help' 就可以了,但是当用 lastName 初始化时,我收到错误无法找到 name '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'
}
}
name
指向全局name
字符串:https://developer.mozilla.org/en-US/docs/Web/API/Window/name。Anystring
可以分配给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
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句