gpt4 book ai didi

TypeScript - 类型 'number | undefined' 不可分配给类型 'number'

转载 作者:行者123 更新时间:2023-12-03 16:13:15 31 4
gpt4 key购买 nike

这是我的代码:

var a:number;
a = 4;

var myArr: number[];
myArr = [1,2,3];
myArr.push(1);

a = myArr.pop();

当我将“module”(在我的 tsconfig.json 文件中)设置为“system”或“amd”以允许我将输出捆绑到“outFile”位置进行编译时,我收到此错误:

hello-world.ts:23:1 - error TS2322: Type 'number | undefined' is not assignable to type 'number'. Type 'undefined' is not assignable to type 'number'.

a = myArr.pop();



它从哪里获得“未定义”类型?另外,如何在不将“strict”设置为 false 的情况下解决此错误(在我的 tsconfig.json 中)?

最佳答案

Array.prototype.pop()返回类型编号或未定义。这就是 number undefined 的来源。

对对象执行 pop() 时,array.length > 0 时返回一个数字,array.length = 0 时返回 undefined。

您应该检查是否 myArr.pop() !== undefined
-或者-
a: number | undefined;

关于TypeScript - 类型 'number | undefined' 不可分配给类型 'number',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56638961/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com