小编Vin*_*yen的帖子

联合类型允许错误分配所用类型的属性

我在理解 TS 中的联合时遇到问题,为什么下面的分配是有效的?我认为这将只是为有效const a = {a:12}{a:123,b:23}{a:12,b:12,c:123}

type abcd =
    | {
        a: number;
      }
    | {
        a: number;
        b: number;
      }
    | {
        a: number;
        b: number;
        c: number;
      };

const a: abcd = {
    a:123,
    c:234
};
Run Code Online (Sandbox Code Playgroud)

游乐场链接

如果我更改csomethingElse

const a: abcd = {
    a:123,
    somethingElse:234 // Error on this line
};
Run Code Online (Sandbox Code Playgroud)

它给了我:

输入'{一个:数字;别的东西:数字;}' 不能分配给类型 'abcd'。对象字面量只能指定已知属性,并且类型“abcd”中不存在“somethingElse”。(2322)

typescript

5
推荐指数
1
解决办法
67
查看次数

标签 统计

typescript ×1