关于undefined null NaN 在项目中有哪些应用?

目前项目中用到的最多的就是null

当使用的场景超出了两种 情况不能用三元表达式的时候 我就把变量初始定义成undefined或者是null 来代表初始化的情况

虽然用了好几次 但是对其理解还不够深入

关于null undefined NaN有哪些应用场景?

不要抄百度 说一些定义

请说出你的理解 或者在实际项目中的巧妙运用之处 谢谢

阅读 2.7k
3 个回答

NaN 是给转number操作 失败的时候 给的一个特殊的值, isNaN 判断字符串能不能转number

undefined 是js语言声明完了默认的一个初始化特殊值, 就是没有初始化或者方法没有返回值

null 这个玩意儿在js语言里面相当多余,我觉得它就是当初抄其他语言的null抄出来的东西,实际应用的时候基本上都可以被undefined代替,我从来不主动使用null

PS:用语意上面来说,很多场景下null的意思更好一些, 比如:主动的初始化 null, 方法找不到需要的返回值,返回一个null,这些都是。 但是你都用undefined代替,也可以,程序逻辑上没有差别。

null我一般用来手动释放引用,等待下次GC回收;undefinedNaN用的不是很多。

下面这个业务场景会用到。
比如我有一个商品详情页,除了商品之外,还有促销数据。下面是促销数据的状态:

  • undefined <初始值> 此时还未将数据请求回来
  • null 该商品无促销活动
  • object 该商品有促销活动,object是促销活动对象
data() {
    return {
        promotion: undefined
    };
}

如果无促销时变化状态如下:

undefined -> null

如果有促销时变化如下:

undefined -> object

不能一开始就用null,否则无法区分是没有促销活动还是没加载完数据。

希望起到抛砖引玉的作用。
(完)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题