此小行会引发错误(TS2322: Type 'string | 3000' is not assignable to number
),因为process.env.PORT
的类型为string
const port: number = process.env.PORT || 3000;
这也会返回错误,因为process.env.PORT
可能是undefined
const port: number = +process.env.PORT || 3000;
在没有出现类型错误的情况下,有没有简洁的方法来编写它?
即。如果设置了process.env.PORT
,则将string
转换为number
,否则返回常量。
答案 0 :(得分:5)
您可以使用+
确保string || 3000
表达式为number
:
const port: number = +(process.env.PORT || 3000);