在TypeScript中返回联合的隐式类型
我正在学习TypeScript课程,下面的代码应该返回10的并集的隐式类型和字符串文字“test”:10 |“test”。有人能给我解释一下怎么做吗?当我运行它时,我得到的输出本身只有10。还是我误解了在TypeScript中返回联合的隐式类型,typescript,union-types,Typescript,Union Types,我正在学习TypeScript课程,下面的代码应该返回10的并集的隐式类型和字符串文字“test”:10 |“test”。有人能给我解释一下怎么做吗?当我运行它时,我得到的输出本身只有10。还是我误解了 function withImplicitReturnType(b: boolean) { if (b) { return 10; } return "test"; } consol
function withImplicitReturnType(b: boolean) {
if (b) {
return 10;
}
return "test";
}
console.log(withImplicitReturnType(true));
TypeScript被编译成JavaScript,JavaScript(代码在其中运行并提供
console.log
output)没有类型的概念-它只运行普通JavaScript,即:
函数的隐式返回类型(b){
如果(b){
返回10;
}
返回“测试”;
}
log(withImplicitReturnType(true))代码>TypeScript被编译成JavaScript,JavaScript(代码在其中运行并提供console.log
输出)没有类型概念-它只运行普通JavaScript,即:
函数的隐式返回类型(b){
如果(b){
返回10;
}
返回“测试”;
}
log(withImplicitReturnType(true))代码>谢谢@CertainPerformance。我猜这个例子是错误的,因为讲师说这个特定的例子应该返回10的并集的隐式类型和字符串文字“test”:10 |“test”,因为return 10和return“test”在两个不同的位置返回两种不同的类型。函数的返回类型就是并集,但是,如果您向它传递一个类型缩小的布尔值(即,肯定是true或false,而不是运行时之前未知的值),TypeScript将能够确定它将采用哪条路径,以及返回值实际是什么withImplicitReturnType(true)
返回类型为10
的表达式,withImplicitReturnType(Math.random()<0.5)
返回类型为10 |“test”
的表达式。谢谢@CertainPerformance。我猜这个例子是错误的,因为讲师说这个特定的例子应该返回10的并集的隐式类型和字符串文字“test”:10 |“test”,因为return 10和return“test”在两个不同的位置返回两种不同的类型。函数的返回类型就是并集,但是,如果您向它传递一个类型缩小的布尔值(即,肯定是true或false,而不是运行时之前未知的值),TypeScript将能够确定它将采用哪条路径,以及返回值实际是什么withImplicitReturnType(true)
返回类型为10
的表达式,withImplicitReturnType(Math.random()<0.5)
返回类型为10 |“test”
的表达式。