目前项目中用到的最多的就是null
当使用的场景超出了两种 情况不能用三元表达式的时候 我就把变量初始定义成undefined或者是null 来代表初始化的情况
虽然用了好几次 但是对其理解还不够深入
关于null undefined NaN有哪些应用场景?
不要抄百度 说一些定义
请说出你的理解 或者在实际项目中的巧妙运用之处 谢谢
###下面这个业务场景会用到。
比如我有一个商品详情页,除了商品之外,还有促销数据。下面是促销数据的状态:
- undefined <初始值> 此时还未将数据请求回来
- null 该商品无促销活动
- object 该商品有促销活动,object是促销活动对象
data() {
return {
promotion: undefined
};
}
如果无促销时变化状态如下:
undefined -> null
如果有促销时变化如下:
undefined -> object
不能一开始就用null,否则无法区分是没有促销活动还是没加载完数据。
希望起到抛砖引玉的作用。
(完)
null
我一般用来手动释放引用,等待下次GC回收;undefined
和NaN
用的不是很多。
NaN 是给转number操作 失败的时候 给的一个特殊的值, isNaN 判断字符串能不能转number
undefined 是js语言声明完了默认的一个初始化特殊值, 就是没有初始化或者方法没有返回值
null 这个玩意儿在js语言里面相当多余,我觉得它就是当初抄其他语言的null抄出来的东西,实际应用的时候基本上都可以被undefined代替,我从来不主动使用null
PS:用语意上面来说,很多场景下null的意思更好一些, 比如:主动的初始化 null, 方法找不到需要的返回值,返回一个null,这些都是。 但是你都用undefined代替,也可以,程序逻辑上没有差别。