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

  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. [转帖]为什么不推荐使用/etc/fstab

    https://www.jianshu.com/p/af49a5d0553f 对于工作中使用服务器的公司来讲,每到节假日来临时,总免不了对服务器进行下电.而收假回来的早上,则会有一个早上的时间会花费在 ...

  2. 【转帖】nginx变量使用方法详解-6

    https://www.diewufeiyang.com/post/580.html Nginx 内建变量用在"子请求"的上下文中时,其行为也会变得有些微妙. 前面在 (三) 中我 ...

  3. [转帖]优化命令之sar——最牛命令

    目录 一:sar命令概述 1.1sar概述 1.2sar常用选项 1.3常用参数 二:CPU资源监控 2.1整体CPU使用统计(-u) 2.2各个CPU使用统计(-P) 2.3将CPU使用情况保存到文 ...

  4. Linux KVM网络处理过程

    Linux KVM网络处理过程 总体解决方法 本次遇到的问题是KVM的网桥处理不小心导致系统无法连接.处理简要总结: 进入机房,给IPMI插上网线, 开机点 Del 进入bios 设置IMPI的地址 ...

  5. 每日一道Java面试题:Java是值传递还是引用传递?

    写在开头 Java是值传递还是引用传递?这个问题几乎100%的出现在了各大主流Java面试题中,知识点很小,但很考验面试者对于Java运行的理解,今晚趁着生产投产的空子,过来小聊一下. 实参与形参 所 ...

  6. 初试高云FPGA

    前言 之前一直眼馋Sipeed的Tang系列,正好遇到有工程需要高速控制并行总线,就买了NANO 9K和Primer 20K试试水 买回来先拆的贵的20k,结果发现Sipeed设计师有奇怪的脑回路: ...

  7. iframe 框架技术

    隐性转发 <!doctype html> <html lang="zh_CN"> <head> <meta charset="u ...

  8. 从嘉手札<2023-11-27>

    "我也没做错什么,放它去看海,总比跟着我好" 很多时候,悲伤总是细细的钻进心底 悄悄的生根发芽 待到了时机 它便如同一株参天巨树般郁郁葱葱 郁郁葱葱的令人发疯 人生本就像是做了一场 ...

  9. Asp .Net Core 系列:Asp .Net Core 配置 System.Text.Json

    目录 简介 Asp .Net Core 如何配置 System.Text.Json 所有配置 全局配置 对比 Newtonsoft.Json 无实体类型下操作 Json 自定义转换器 处理 Dynam ...

  10. IDEA破解激活

    !!!不要使用最新2021.2.3以后的版本,没有30天免费试用.推荐使用2021年之前的版本!!! 1: IDEA安装后使用30天免费试用进入,然后找到图中位置点击 2: 点击下图链接下载破解jar ...