首页 > 解决方案 > 为什么我不能访问对象的属性?

问题描述

我是 JavaScript 和 typecipt 的新手。下面是我的代码:

let myObj:Object = { foo: 'bar' };
let strVar:string = myObj.foo; // then it throw an error that "property foo does not exist on type 'Object'"

那么为什么我不能访问对象的属性呢?

标签: typescript

解决方案


这是真的,因为foo不是该Object类型的属性。您需要进行以下更改:

let myObj:{ foo: string } = { foo: 'bar' };
let strVar:string = myObj.foo;

您还可以声明一个接口:

interface MyObject {
    foo: string;
}

let myObj: MyObject = { foo: "bar" };
let strVar:string = myObj.foo;

推荐阅读