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
分享一套 《商业级应用-微信小程序开发实战》 , 这是一次纯正的实战 , 不模拟、不虚构 , 以极致的产品体验完美的细节处理 , 带你开发“完全真实”的小程序 。 有谁需要的话 , 我可以免费分享给你 。 领取方式:收藏+转发+点赞 , 然后私信我回复 "小程序" 即可获取 。
文章插图
- 设计模式6之代理模式
- 德州点创教育JavaScript正则表达式授课大纲
- DBUtils工具类,听说你没用过?
- 企业和用户关于隐私数据博弈的均衡点——自主身份
- 诺基亚C3推送系统升级 这些功能用起来还真是不错
- 关于IPv6 DAD机制的一种新思考
- 监控工具之Nagios,搭建和使用
- 理解JavaScript中的浅拷贝与深拷贝
- 漫谈动铁——达音科SA3听感
- 来历、发展、选购技巧…关于电视机那些事儿,你知道多少?