在打字稿中变量未定义

时间:2020-04-19 09:22:01

标签: typescript

type User ={
    id: number;
    name?: string;
    nickname?: string;
}

type Info = {
    id: number;
    city?: string;
}

type SuperUser = User & Info;

let su:SuperUser;
su.id = 1; 

console.log(su);

这是一个简单的代码。我确实尝试了交叉点类型。为什么控制台向我返回“ su”未定义?

1 个答案:

答案 0 :(得分:1)

您需要先为变量分配一些值,否则将是undefined,如下所示:

type User ={
    id: number;
    name?: string;
    nickname?: string;
}

type Info = {
    id: number;
    city?: string;
}

type SuperUser = User & Info;

let su:SuperUser = { // <-- First we assign some value
    id: 1
};
su.id = 2; // <-- and then we can use or change the value

console.log(su);

尝试playground