为什么 () => void return 是什么?
Why does () => void return something?
我知道下面的内容并不意味着 return 'type' 无效。我的理解是 voidFunc return 没什么,因为它是 returning 'void'。为什么它 return 任何类型?
type voidFunc = () => void
const myFunc: voidFunc = () => {
return 'hello'
}
和下面这样写有什么区别?
type voidFunc = () => any
Return 输入 void
函数的 void return 类型会产生一些异常但符合预期的行为。
return 类型 void
的上下文类型 not 强制函数 not return 东西。另一种说法是具有 void
return 类型 (type vf = () => void
) 的上下文函数类型,在实现时,可以 return 任何其他值,但它会被忽略。
因此,() => void
类型的以下实现是有效的:
type voidFunc = () => void;
const f1: voidFunc = () => {
return true;
};
const f2: voidFunc = () => true;
const f3: voidFunc = function () {
return true;
};
而当其中一个函数的return值赋值给另一个变量时,会保留void类型:
const v1 = f1();
const v2 = f2();
const v3 = f3();
我知道下面的内容并不意味着 return 'type' 无效。我的理解是 voidFunc return 没什么,因为它是 returning 'void'。为什么它 return 任何类型?
type voidFunc = () => void
const myFunc: voidFunc = () => {
return 'hello'
}
和下面这样写有什么区别?
type voidFunc = () => any
Return 输入 void
函数的 void return 类型会产生一些异常但符合预期的行为。
return 类型 void
的上下文类型 not 强制函数 not return 东西。另一种说法是具有 void
return 类型 (type vf = () => void
) 的上下文函数类型,在实现时,可以 return 任何其他值,但它会被忽略。
因此,() => void
类型的以下实现是有效的:
type voidFunc = () => void;
const f1: voidFunc = () => {
return true;
};
const f2: voidFunc = () => true;
const f3: voidFunc = function () {
return true;
};
而当其中一个函数的return值赋值给另一个变量时,会保留void类型:
const v1 = f1();
const v2 = f2();
const v3 = f3();