面试题答案
一键面试在TypeScript中,number
类型除了常规数字外,还有以下特殊值:
NaN
:- 含义:表示“非数字”(Not a Number)。
- 使用场景:
- 当数学运算的结果无法表示为一个有效的数字时会得到
NaN
。例如,0 / 0
、parseFloat('abc')
等操作都会返回NaN
。在进行数据验证时,如果期望得到数字类型,但实际得到的是无法转换为数字的值,就可能出现NaN
。比如从用户输入中解析数字,如果输入不是有效的数字格式,就可能得到NaN
。
- 当数学运算的结果无法表示为一个有效的数字时会得到
Infinity
和-Infinity
:- 含义:
Infinity
表示正无穷大,-Infinity
表示负无穷大。 - 使用场景:
- 在数学计算中,当一个正数除以零会得到
Infinity
,一个负数除以零会得到-Infinity
,如1 / 0
会得到Infinity
,-1 / 0
会得到-Infinity
。在一些算法中,比如寻找数组中的最大或最小值,如果初始值需要设置为一个理论上可以被任何值超越的数,就可以使用-Infinity
(找最大值时)或Infinity
(找最小值时)。例如,在寻找数组中的最大值时,可以这样写:
- 在数学计算中,当一个正数除以零会得到
- 含义:
let numbers = [1, 5, 3];
let max = -Infinity;
for (let num of numbers) {
if (num > max) {
max = num;
}
}
console.log(max);