JavaScript中关于null的一切( 二 )
回到开始返回greeting对象的greetObject()函数 。 缺少参数时 , 可以返回一个默认对象 , 而不是返回null:
function greetObject(who) {if (!who) {who = 'Stranger';}return { message: `Hello, ${who}!` };}greetObject('Eric'); // => { message: 'Hello, Eric!' }greetObject();// => { message: 'Hello, Stranger!' }
或者抛出一个错误:
【JavaScript中关于null的一切】function greetObject(who) {if (!who) {throw new Error('"who" argument is missing');}return { message: `Hello, ${who}!` };}greetObject('Eric'); // => { message: 'Hello, Eric!' }greetObject();// => throws an error
这两种做法可以避免使用 null 。
5. null vs undefinedundefined是未初始化的变量或对象属性的值 , undefined是未初始化的变量或对象属性的值 。
let myVariable;myVariable; // => undefined
null和undefined之间的主要区别是 , null表示丢失的对象 , 而undefined表示未初始化的状态 。
严格的相等运算符===区分null和undefined :
null === undefined // => false
而双等运算符==则认为null和undefined 相等
null == undefined // => true
我使用双等相等运算符检查变量是否为null 或undefined:
function isEmpty(value) {return value =http://kandian.youth.cn/index/= null;}isEmpty(42);// => falseisEmpty({ prop: 'Value' }); // => falseisEmpty(null);// => trueisEmpty(undefined);// => true
6. 总结null是JavaScript中的一个特殊值 , 表示丢失的对象 , 严格相等运算符确定变量是否为空:variable === null 。
typoef运算符对于确定变量的类型(number, string, boolean)很有用 。但是 , 如果为null , 则typeof会产生误导:typeof null的值为'object' 。
null和undefined在某种程度上是等价的 , 但null表示缺少对象 , 而undefined未初始化状态 。
作者:Dmitri Pavluti 译者:前端小智 来源:dmitripavlutin
原文:#comments
分享一套 《商业级应用-微信小程序开发实战》 , 这是一次纯正的实战 , 不模拟、不虚构 , 以极致的产品体验完美的细节处理 , 带你开发“完全真实”的小程序 。 有谁需要的话 , 我可以免费分享给你 。 领取方式:收藏+转发+点赞 , 然后私信我回复 "小程序" 即可获取 。
文章插图
推荐阅读
- 高下立现!关于核心技术的态度,柳传志和任正非截然不同
- 关于手机的谣言……别再信了
- 这次真不站华为!关于华为下架腾讯游戏事件!华为有点不够意思
- 关于特斯拉副总裁陶琳女士回应的回应
- 关于小米11“环保”,是我们低估了雷军,还是小米高估了人性?
- 小米11正式发布,关于送不送充电器,雷军给出了一个“神奇”的方案
- 关于销售破万的华为新机!原来罗永浩曾经的话,还真的没有说错
- 关于5G手机的5个伪真相,别再继续被人骗下去了
- 关于边缘计算与网络动态加速
- 你了解你的手机吗?这几个关于手机的冷知识,你知道几个?