为什么要判断一个变量的常用数据?
- 实际业务场景里,一个变量的数据是否合法或符合预期,会影响到项目中用到的UI组件库特定组件的运行。比如element-ui中的el-select组件,单选时绑定的数据不能为数组,多选时要为数组。
- 有些函数也是要限定某些合法数据的。比如Date()里可以是时间戳,也可以是某些格式的字符串。但一些第三方方法有时要求表示时间只能用number类型的时间戳数字,如果传入数字类型的字符串就会报错。这时就需要在使用第三方方法前,先判断这个变量是否为数字。
常用的数据:
- 代表数字的非NaN数据:
0
12
1.01
.01
''
'0'
'123'
'123.01'
'.01'
true
false
null
undefined
[]
[`以上非NaN数据`]
- 代表时间的数据:
即能原生使用[new Date()]转化成时间的
- 代表无值的数据:
- 代表有值的数据:
- 代表整数0的数据:
- 代表整数1的数据:
- 虚值Falsy:
是JavaScript里于Boolean上下文中认定为 false 的值。
//在JavaScript中只有8个falsy值。//
false;//false关键字;
0;//number-->0;
-0;//number-->负0;
0n;//BigInt-->0;
"";//空字符串string;
'';//空字符串string;
``;//空字符串string;
null;//null - 缺少值;
undefined;//undefined - 原始值;
NaN;//非数值;
判断一个变量是否是常用数据
- 判断一个变量是否等于【-0】。
let theVariable = -0;
Object.is(theVariable,-0)
说明:
- 此文长期更新。
- 此文主要是自己通过之前负责的项目及自己思考得出的。所以尽量不用专业术语,只考虑好理解。比如常用数据,一般就是指用各种条件if语句之类的去判断的东西,在项目或其它文章里多次有类似的说法,才记录的。
- 如果有不对的,请在2022-01-01前通知我,我及时改一下。在这之后就算有错,估计也不会特意去改了。
参考
- 术语表----Falsy;