我知道下面并不意味着返回“类型”为空。我的理解是 voidFunc 不返回任何内容,因为它返回“void”。为什么它返回任何类型?
type voidFunc = () => void
const myFunc: voidFunc = () => {
return 'hello'
}
它和下面这样写有什么不同?type voidFunc = () => any
See 函数的可分配性
返回类型为空
函数的 void 返回类型可能会产生一些不寻常但预期的行为。
返回类型为的上下文类型void
does not强制函数not返回一些东西。另一种说法是上下文函数类型void
返回类型(type vf = () => void
),实现后可以返回任何其他值,但它将被忽略。
因此,该类型的以下实现() => void
有效:
type voidFunc = () => void;
const f1: voidFunc = () => {
return true;
};
const f2: voidFunc = () => true;
const f3: voidFunc = function () {
return true;
};
当这些函数之一的返回值被分配给另一个变量时,它将保留 void 类型:
const v1 = f1();
const v2 = f2();
const v3 = f3();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)