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; // => undefinednull和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);// => true6. 总结null是JavaScript中的一个特殊值 , 表示丢失的对象 , 严格相等运算符确定变量是否为空:variable === null 。
typoef运算符对于确定变量的类型(number, string, boolean)很有用 。但是 , 如果为null , 则typeof会产生误导:typeof null的值为'object' 。
null和undefined在某种程度上是等价的 , 但null表示缺少对象 , 而undefined未初始化状态 。
作者:Dmitri Pavluti 译者:前端小智 来源:dmitripavlutin
原文:#comments
分享一套 《商业级应用-微信小程序开发实战》 , 这是一次纯正的实战 , 不模拟、不虚构 , 以极致的产品体验完美的细节处理 , 带你开发“完全真实”的小程序 。 有谁需要的话 , 我可以免费分享给你 。 领取方式:收藏+转发+点赞 , 然后私信我回复 "小程序" 即可获取 。
JavaScript中关于null的一切文章插图