是否可以通过这种方式限制返回值?
comprobarExistencias(): -1 | 0 | 1 | 2 {
let valor: -1 = -1
// I don't want do this...
return valor
}
不要像数字一样使用数字吗?
答案 0 :(得分:1)
之所以存在,是因为打字稿会自动预期会发生突变,因此如果let valor = -1是-1
类型,那么如果您以后尝试更改它,说valor = 1就会得到该类型错误1无法分配给-1类型;
要解决此打字稿,3.5.1提供了“ as const”修饰符,该修饰符告诉打字稿您不打算修改值,在这种情况下,可以将其推断为文字类型。
const negative = -1 as const;
是的,这是使它推断为-1的额外工作,但是如上所述,如果默认情况下为-1,则将为90%的Typescript社区带来更多问题。
答案 1 :(得分:1)
解决方案比我想的要简单
let valor: -1 | 0 | 1 | 2 = 1 //This pass
let valor: -1 | 0 | 1 | 2 = 3 //This return and error
现在我可以在所有功能中使用valor
。我只需要使用数字作为类型即可。