如何为jQuery data()方法设置默认值以简化代码?
简洁实现data属性取值与默认值设置的几种方式
给你几个简洁的实现方案,根据业务场景按需选择:
1. 逻辑或运算符(||)
如果你的visible-part不会出现0、false这类假值,用这个写法最简洁:
let visiblePart = $(this).data('visible-part') || 0.5;
注意:如果data-visible-part的取值是0或者false,逻辑或会把它们判定为假值,直接替换成0.5,这类场景下不适合用这个方法。
2. 空值合并运算符(??)
ES6+的语法,只会在值为undefined或null时启用默认值,是适配所有场景的安全方案:
let visiblePart = $(this).data('visible-part') ?? 0.5;
它完全匹配你原本的逻辑——只有当取值为undefined时才替换成默认值,其他合法值(包括0、false)都会被保留。
3. 三元运算符(明确判断)
如果要和原代码逻辑完全对齐,又想压缩成简洁写法,可以用三元运算符,还能避免重复调用data():
const dataVal = $(this).data('visible-part'); let visiblePart = dataVal === undefined ? 0.5 : dataVal;
也可以直接写成一行(不介意重复调用data()的话):
let visiblePart = $(this).data('visible-part') === undefined ? 0.5 : $(this).data('visible-part');
内容的提问来源于stack exchange,提问作者Shtole
相关产品推荐
相关产品推荐

