为什么要判断一个变量的常用数据?

  1. 实际业务场景里,一个变量的数据是否合法或符合预期,会影响到项目中用到的UI组件库特定组件的运行。比如element-ui中的el-select组件,单选时绑定的数据不能为数组,多选时要为数组。
  2. 有些函数也是要限定某些合法数据的。比如Date()里可以是时间戳,也可以是某些格式的字符串。但一些第三方方法有时要求表示时间只能用number类型的时间戳数字,如果传入数字类型的字符串就会报错。这时就需要在使用第三方方法前,先判断这个变量是否为数字。

常用的数据:

  1. 代表数字的非NaN数据:
0 //整数0;
12 //整数number;
1.01 //浮点数number;
.01 //省略0浮点数number;
''//空字符串string;//代表无或整数0;
'0'//字符串0;//代表整数0;
'123'//整数字符串string;//代表整数number;
'123.01'//浮点数字符串string;//代表浮点数number;
'.01'//省略0浮点数字符串string;//代表浮点数number;
true //布尔值真boolean;//代表整数1;
false //布尔值假boolean;//代表整数0;
null //null;//代表无或整数0;
undefined //undefined;//代表无或整数0; [] //空数组Array;//代表整数0;
[`以上非NaN数据`] //长度为1的数组Array;//代表`以上非NaN数据`;
  1. 代表时间的数据:
    即能原生使用[new Date()]转化成时间的
  1. 代表无值的数据:
  2. 代表有值的数据:
  3. 代表整数0的数据:
  4. 代表整数1的数据:
  5. 虚值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;//非数值;

判断一个变量是否是常用数据

  1. 判断一个变量是否等于【-0】。
let theVariable = -0;
Object.is(theVariable,-0)

说明:

  1. 此文长期更新。
  2. 此文主要是自己通过之前负责的项目及自己思考得出的。所以尽量不用专业术语,只考虑好理解。比如常用数据,一般就是指用各种条件if语句之类的去判断的东西,在项目或其它文章里多次有类似的说法,才记录的。
  3. 如果有不对的,请在2022-01-01前通知我,我及时改一下。在这之后就算有错,估计也不会特意去改了。

参考

  1. 术语表----Falsy;

2021-07-30 JavaScript中常用数据的判断的更多相关文章

  1. 浅谈 JavaScript 中常用数据及其类型转换

    在 JavaScript 中有一些 value 会经常碰到: [] (空数组).{} (空对象).'' (空字符串).undefined.null.0.NaN.Infinite 也会经常碰到数据类型转 ...

  2. JavaScript 中常用的 正则表达式

    这编文章我来整理了一些在 javascript 中常用的正则式希望能给大家带来一些开发的灵感 //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{ ...

  3. SQL点滴30—SQL中常用的函数

    原文:SQL点滴30-SQL中常用的函数 该文章转载自http://www.cnblogs.com/jiajiayuan/archive/2011/06/16/2082488.html 别人的总结,很 ...

  4. 如何理解JavaScript中常用的4种排序算法?

      如何理解JavaScript中常用的4种排序算法? 冒泡排序 冒泡排序是我们在编程算法中,算是比较常用的排序算法之一,在学习阶段,也是最需要接触理解的算法,所以我们放在第一个来学习. 算法介绍: ...

  5. javascript中常用坐标属性offset、scroll、client

    原文:javascript中常用坐标属性offset.scroll.client 今天在学习js的时候觉得这个问题比较容易搞混,所以自己画了一个简单的图,并且用js控制台里面输出测试了下,便于理解. ...

  6. 请写出JavaScript中常用的三种事件。

    请写出JavaScript中常用的三种事件. 解答: onclick,onblur,onChange

  7. Javascript中常用事件集合和事件使用方法

    Javascript中常用事件集合和事件使用方法 一.事件绑定 格式: 事件源 . on事件类型=事件处理函数 事件绑定三要素 1.事件源:和谁绑定 2.事件类型:什么事件 3.事件处理函数:触发了要 ...

  8. linux Shell中常用的条件判断

    linux Shell中常用的条件判断 -b file            若文件存在且是一个块特殊文件,则为真 -c file            若文件存在且是一个字符特殊文件,则为真 -d ...

  9. JavaScript中常用的正则表达式日常整理(全)

    //校验是否全由数字组成 ? 1 2 3 4 5 6 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) retu ...

  10. JavaScript中的数据类型转换

    本文中提到的“原始值”指的是undefined,null,Boolean,string和number. 本文中的对象是native对象,宿主对象(浏览器定义的对象)按照各自的算法转换. JavaScr ...

随机推荐

  1. [转帖]Kafka 核心技术与实战学习笔记(六)kafka线上集群部署方案

    一.操作系统-Linux Kafka是JVM系的大数据框架 kafka由Scala语言和Java语言编写而成,编译之后的源代码就是普通的".class"文件 使用Linux kaf ...

  2. 记一次flex布局中子项目尺寸不受flex-shrink限制的问题

    预期是写一个如下所示的布局内容: 即有一个固定高度的外部容器,顶部的header已知高度,在header占据了固定高度后,剩下的都分给body部分.因此采用flex布局,header设置flex-sh ...

  3. vue3中retive的错误用法导致数据不跟新

    retive的错误用法 <template> <div> 司藤的信息==>{{ objInfo }} <button @click="handerHttp ...

  4. VictoriaMetrics 1.80版本中值得关注的新特性

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 change log请看:https://github.c ...

  5. (数据科学学习手札122)Python+Dash快速web应用开发——内网穿透篇

    由我开源的先进Dash组件库feffery-antd-components正处于早期测试版本阶段,欢迎前往官网http://fac.feffery.tech/了解更多 1 简介 这是我的系列教程Pyt ...

  6. # 再次推荐github 6.7k star开源IM项目OpenIM性能测试及消息可靠性测试报告

    本报告主要分为两部分,性能测试和消息可靠性测试.前者主要关注吞吐,延时,同时在线用户等,即通常所说的性能指标.后者主要模拟真实环境(比如离线,在线,弱网)消息通道的可靠性. 先说结论,对于容量和性能: ...

  7. tensorflow语法【zip、tf.tile、tf.truncated_normal、tf.data.Dataset.from_tensor_slices、dataset中shuffle()】

    相关文章: [一]tensorflow安装.常用python镜像源.tensorflow 深度学习强化学习教学 [二]tensorflow调试报错.tensorflow 深度学习强化学习教学 [三]t ...

  8. C/C++ 获取主机网卡MAC地址

    MAC地址(Media Access Control address),又称为物理地址或硬件地址,是网络适配器(网卡)在制造时被分配的全球唯一的48位地址.这个地址是数据链路层(OSI模型的第二层)的 ...

  9. VB6各类源码开源 - 开源研究系列文章

    今天把以前下载整理的关于VB6的一些代码进行了开源,覆盖了多个分类内容,需要的朋友请下载: VB6源码.part1 https://download.csdn.net/download/lzhdim/ ...

  10. 一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)

    最近做了几个 WPF + MudBlazor 的小东西,每次从头搭建环境比较繁琐,然鹅搭建过程还没啥技术含量,索性就直接做了个模板,方便以后使用. 1. 介绍 一个用来创建 .NET 8 + WPF ...