keyof 不适用于“名称”属性

尼蒂什

我已经声明了一个接口 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/nameAnystring可以分配给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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

授权属性不适用于角色

来自分类Dev

为什么输入模式属性不适用于数字?

来自分类Dev

填充属性不适用于SVG

来自分类Dev

AngularJS必需的属性不适用于选择

来自分类Dev

CSS过渡不适用于box-shadow属性

来自分类Dev

Flexbox:元素阴影不适用于order属性

来自分类Dev

prop()不适用于某些属性

来自分类Dev

转换CSS属性不适用于<a>元素

来自分类Dev

JsonConstructor属性不适用于RavenDB

来自分类Dev

UITextView linkTextAttributes字体属性不适用于NSAttributedString

来自分类Dev

CallerMemberName不适用于字段上的属性构造函数

来自分类Dev

JavaScript绑定方法不适用于getter属性

来自分类Dev

翻译属性不适用于div

来自分类Dev

TypeScript中的枚举名称的`keyof`

来自分类Dev

ng-options仅适用于名称,不适用于值

来自分类Dev

CSS属性“ background-image”适用于正文而不适用于类

来自分类Dev

网络名称空间不适用于VPN

来自分类Dev

min-width属性不适用于Div,但适用于Table标记

来自分类Dev

DNS查询仅适用于完全限定域名(FQDN),不适用于短名称

来自分类Dev

填充属性不适用于SVG

来自分类Dev

拆分不适用于属性

来自分类Dev

JsonConstructor属性不适用于RavenDB

来自分类Dev

命令补全不适用于包含`:`的名称

来自分类Dev

Apipie文档不适用于嵌套名称空间

来自分类Dev

CustomConverter不适用于获取对象的名称

来自分类Dev

css 属性不适用于 div

来自分类Dev

HTML 必需标签不适用于公司和名称

来自分类Dev

找不到名称“keyof”

来自分类Dev

isGranted 不适用于自定义角色名称