在Javascript中,似乎有或曾经有这样的想法:undefined表示缺少的原语或对象值,而null则表示缺少的对象值。
例如,请参阅讲JS中的本节。
然而,在JSON中使用null似乎不符合这一原则。如果缺少我的键的值,JSON将这种情况表示为“键与值null一起存在”。但是这个值可能是一个原语或一个对象,所以在这种情况下使用undefined不是更正确吗?
我知道JSON现在没有特别的理由忠实于Javascript的这个方面,但我很好奇在做出这个决定时考虑到了哪些因素。
发布于 2019-02-03 16:45:14
undefined意味着您弄错了变量/字段的名称,或者由于某种原因变量/字段没有设置(可能程序没有通过设置变量/字段的代码路径?)。然而,null意味着您得到了正确的名称,而本应在其中放置值的代码确实提供了一个值--但该值的合理含义是“这里什么都没有”。
换句话说-- dog.tail === undefined意味着狗尾巴的概念是没有意义的。dog.tail === null意味着这只狗没有尾巴。
https://softwareengineering.stackexchange.com/questions/386557
复制相似问题