它们是什么 undefined
undefined代表了一个并不存在的值,很多情况都会产生undefined,比如:
没有返回语句的函数运行结束,就会返回undefined
访问数组中不存在的下标和对象不存在的属性
void运算符会返回undefined
undefined是一个全局定义的变量:
undefined in window // truenull
空引用或者空对象,下面这些情况都会用到null:
试图获取一个不存在的元素返回一个null值
通过分配null可以手动的释放对象,便于垃圾回收
它们哪儿相同 undefined和null都不能被设置属性或者取属性undefined.name // Uncaught TypeError: Cannot read property "name" of undefined null.name // Uncaught TypeError: Cannot read property "name" of null在条件上下文中,都会被计算成false
if(!undefined){ console.log("show undefined"); } if(!null) { console.log("show null") } // show undefined // show null它们哪儿不同 它们是两个不同的类型
我们都知道JavaScript里面基本类型有:string,number,boolean,null,undefined,所以null和undefined是两个完全不同的类型
Object.prototype.toString.call(null) // [object Null] Object.prototype.toString.call(undefined) // [object Undefined]typeof操作返回值不同
先看现象:
typeof undefined // undefined typeof null // object
其实typeof null返回object是一个遗存的bug,因为JavaScript值存在32位的bit中,1-3位是类型标识,而且前三位为000的是object,恰好null表示机器码空指针,在大多数平台上为0x00,所以typeof null就会被误以为是object,而且这个bug到现在也没fix,据说是因为历史代码太多所以被委员会拒绝。
参考资料typeof-null
探索JavaScript中Null和Undefined的深渊
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/95888.html
摘要:如果没有传入的话如果是类型,则取否则,取这个方法大致和一样,除了以下返回返回参考知乎中和区别是什么全面解析中的数据类型与类型转换规范 有哪些判断相等性的方法 JavaScript现在提供了三种方法来判断相等性: ===,三个等号即严格相等 ==,两个等号即宽松相等 Object.is(),ES6中用来判断相等的方法 判断相等性的细节 ===(严格相等) 被比较的两个数不会进行类型转...
摘要:函数别名是全局对象的属性显式绑定一个小栗子和第一个参数是一个对象,它们会把这个对象绑定到,接着在调用函数时指定这个。 今天总结一下this。 误解 熟悉Java或者其他语言的同学看到this会想当然的认为this指向函数本身,然而在JavaScript中并不是这样子。 function func(){ console.log(this.index) } func.index ...
摘要:又是一个比较重要的知识点原型。且和指向了同一个对象。可以是使用做什么创建对象的数据共享把一些实例共享的属性和方法放在原型上,节约空间。基于原型链的委托继承这个原型继承的关系可以用图来表示参考资料深入之从原型到原型链强大的原型和原型链 又是一个比较重要的知识点——原型(prototype)。 一个例子 function F() {} var f = new F() F.prototype...
摘要:如果是或者,会将作为值。否则,被调用的函数,进行转换后,作为值。又怎么操作这个很神奇。能转换它的参数为到总共个整数中的一个,这个函数遵循以下规则。不断加入新方法的规范也是这个初衷。 showImg(https://segmentfault.com/img/remote/1460000012563719); 今天看element-react源码的时候,又看到了这张似曾相识却又异常陌生的老...
阅读 3412·2021-11-12 10:36
阅读 2721·2021-11-11 16:55
阅读 2935·2021-09-27 13:36
阅读 1593·2021-08-05 10:01
阅读 3536·2019-08-30 15:55
阅读 748·2019-08-30 13:01
阅读 1879·2019-08-29 17:16
阅读 2358·2019-08-29 16:40