Releases: doly-dev/util-helpers
Releases · doly-dev/util-helpers
v4.12.9
v4.12.8
v4.12.7
4.12.6
v4.12.5
v4.12.4
v4.12.3
- refactor: 数学计算对有效数值重新定义,兼容性更好
⚠️
有效数值
即能通过 Number(value)
转为数字,且不能为 NaN
。
以下为有效数值:
- 数字:
1
-1
1e-2
1.312
0.1
Infinity
- 字符串:
'1'
'10e2'
'-1'
'0.1'
''
' '
' 15'
' 15 '
- 其他类型:
null
new Date()
[]
new Array()
true
false
以下为无效数值:
- 字符串:
'1a'
'-12a'
'10.2.2'
'10e2.1'
- 其他类型:
undefined
[]
{}
Symbol()
function(){}
()=>{}
计算说明
- 四则运算的第二个参数都是有默认值(乘数和除数默认1,加数和减数默认0)
plus(); // NaN 0个参数时,被加数转换为 Number(undefined) NaN ,NaN+0 = NaN 。其他计算方法如果没有参数一样返回 NaN 。
plus(0.1); // 0.1 第二个参数,加数默认为 0
plus(true, null); // 1 Number(true) 转换为 1 , Number(null) 转换为 0 , 1+0=1
plus(undefined, 0.1); // NaN 第一个参数被加数转换为 Number(undefined) NaN ,NaN+0 = NaN 。其他计算方法如果第一个参数为无效数值一样返回 NaN 。
- 参数中包含无效数值,返回NaN
plus('0.1', ' a'); // NaN
plus(true, {}); // NaN
plus(true, 0.1, Symbol()); // NaN
注意:如果第二个及后面的参数如果值为 undefined 取默认值,即乘除数取 1 ,加减法取 0 。
plus(0.1, undefined); // 0.1
plus(0.1, undefined, 0.2, undefined); // 0.3 后面的 undefined 取默认值 0
times(0.1, undefined, 0.2, undefined); // 0.02 后面的 undefined 取默认值 1
v4.12.2
v4.12.1
v4.12.0
重要更新
- feat: 规范数学安全计算参数有效数值
⚠️
以下内容已过时,4.12.3 重新定义有效数值
以下内容已过时,4.12.3 重新定义有效数值
以下内容已过时,4.12.3 重新定义有效数值
什么是有效数值
- 数据类型必须是
number
或string
string
类型不能为空字符串、空白符字符串,而且可以使用Number(value)
转为数字,且不能为NaN
number
类型不能为NaN
以下是有效数值:
- 数字: 1, -1, 1e-2, 1.312, 0.1, Infinity
- 字符串: '1', '10e2', '-1', '0.1'
以下是无效数值:
- 非数字字符串: '', ' ', '1a', '-12a', '10.2.2', '10e2.1'
- 其他类型值: undefined, null, true, false, [], {}, new Date(), ...
注意:Number('')
Number(' ')
Number(new Date)
Number(true)
等虽然可以返回数字,但都不是有效数值。因为它们分别是空字符串、空格字符串和非数字或字符串类型。