首页 > 解决方案 > Typescript Inerfaces Uncaught TypeError:无法设置属性

问题描述

我正在尝试将类型断言添加到对象,在为嵌套对象分配值期间遇到 TypeError。

这是片段

interface Person {
    age: number;
    name: string;
    study: {
        schoolName: string
    }
}

let john = {} as Person;

john.age = 25;
john.name = 'John';
john.study.schoolName = 'some school';

console.log(john); // Uncaught TypeError: Cannot set property 'schoolName' of undefined

Typescript 操场的链接 Link

标签: javascripttypescripttypes

解决方案


也许查看代码片段的编译版本会为您清除它

var john = {};
john.age = 25;
john.name = 'John';
john.study.schoolName = 'some school';
console.log(john);

如您所见,Typescript 实际上并没有初始化研究属性。


推荐阅读