这个表情
max([1]) + 1
给出
Unable to call: `+` with arguments: (`1 | Null`, `1`).
Reasons:
- Expecting Type: `Number`, but got: `Null`.
|-- From: `Number`
|- From: +(lhs: Number, rhs: Number) -> Number
50| max([1]) + 1
^^^^^^^^
- Expecting Type: `Array<T>`, but got: `Null`.
|-- From: `Array<T>`
|- From: +<T, E>(lhs: Array<T>, rhs: E) -> Array<T | E>
50| max([1]) + 1
^^^^^^^^
- 10 more options ...
50| max([1]) + 1
^^^^^^^^^^^^
但typeOf(max([1]))
给出Number
. 如何获取 max 的结果作为可用于数字运算的数字?
查看文档max() 函数的返回类型是
T | Null
,它是联合类型:加法运算符 (
+
) 期望数字作为两个参数,而不是其中之一是联合类型。要使用结果,
max()
您应该确保它实际上不能为空。一种方法是将结果转换为Number
. ANull
无法转换为,Number
因此请注意,如果列表为空,转换将会失败。例子: