首页 > 其他分享 >undefined与null的区别,以及数据类型检测

undefined与null的区别,以及数据类型检测

时间:2022-11-04 10:00:14浏览次数:55  
标签:undefined 检测 数据类型 字符串 类型 null


title: undefined与null的区别,以及数据类型检测的方法

1.undefinednull的区别

由来,为什么只有JS才有undefined这种数据类型呢

JS作者在设计时也是先设计了null,用来表示无的含义,根据高级编程语言的传统,NULL在进行转化时,会自动转化成对象类型,转换成数字就会变0,作者认为,这并不符合用于表示“无”的含义,作者认为这个“无”的类型不应该是一个对象,也不应该存在值,也就诞生了undefined作为一个单独的类型,并且转换成数字类型也是NAN

这也就了解undefinednull的区别

  • 字面含义: undefined表示未定义,NULL表示空对象
  • 转换成数字类型:undefined转化成NAN,NULL转化成0
  • 转化字符串也就是字面字符串,注意的是 undefined==null; 因为这里存在强制转换也就自然相等

2.类型检测的一些方法

  1. typeof对基本类型检测都没啥大问题,但是对对象类型检测就只会返回 Object
  2. instanceof,此方法对数据检测非常严格,适用于精准检测引用数据类型,检测是否出现原型链中
  3. Object.prototype.toString.call()万能方法:从使用中我们也能看出,将原型上的this指向要被检测的数据类型,然后转化成字符串,也就能检测所有的字符串类型

这里在体积以下数据类型

基本数据类:字符串,数字,布尔类型,undefined,null,symbol

引用数据类:对象Object,数组Array,函数Function,日期Date(),Math(),正则RegExp(),以及Set(),Map()

标签:undefined,检测,数据类型,字符串,类型,null
From: https://www.cnblogs.com/YYang333/p/16856739.html

相关文章

  • vue3 leaflet this._map is null,this._map is undefined,listener not found ,cannot
    vue3leafletthis._mapisnull,this._mapisundefined,listenernotfound此类问题这个是vue3的变量深监听所导致的,vue2就没有此类的问题发生解决方法:加toRow()代......
  • 数据类型拓展
    publicclassDemo03{publicstaticvoidmain(String[]args){//整数拓展:进制二进制开头0b十进制八进制0十六进制0xinti=10......
  • 基本数据类型在内存中的存储
    先用高字节在用低字节整形存储都是以补码存储不同位数处理器可处理的位数不同决定了寄存器宽度是否大于一个字节就会有多个字节如何安排的问题就出现了大小端......
  • C# 数据类型取值范围
    bool型为int型,一般认为占4个字节,取值TRUE/FALSE/ERROR。sbyte型为有符号8位整数,占1个字节,取值范围在-128~127之间。bytet型为无符号16位整数,占2个字节,取值范围在0~255之间......
  • C++ nullptr/nullptr_t
    解释关键词nullptr代表指针字面量。它是std::nullptr_t类型的纯右值。存在从nullptr到任何指针类型及任何成员指针类型的隐式转换。同样的转换对于任何空指针常量也......
  • 数据类型的拓展使用
    Lessismore代码要精简易读整数拓展//二进制0b十进制八进制0十六进制0xinti=10;inti2=010;//八进制0inti3=0x10;//......
  • qt错误?undefinedreferenceto`_imp___ZN10QTcpSocketD1Ev
    错误信息:undefinedreferenceto`_imp___ZN10QTcpSocketD1Ev'undefinedreferenceto`_imp___ZN10QTcpSocketC1EP7QObject'undefinedreferenceto`_imp___ZN10QTcpSo......
  • 【Android】AndroidStudio空指针解决之:listview与adapter的使用报空 java.lang.NullPo
    作者:程序员小冰(转载请说明出处)长期维护的Android项目,里面包括常用功能实现,以及知识点详解,当然还有Java中的知识点。具体请看github:https://github.com/QQ986945193/David......
  • 数据类型
    1、布尔布尔型的值只可以是常量true或者false。一个简单的例子:varbbool=true。不指定的话默认为false2、数字整型int和浮点型float32、float64,Go语......
  • isNil()和isNull
    阅读Lodash文档时发现了两个很有意思的方法,isNil()和isNull(),官网对他们的描述是这样的:isNil()检查value是否是null或者undefined。functionisNil(value){......