JavaScript评估速记问题
可能非常简单,但我不确定如何正确编写以下评估和分配,其中我尝试将配置值分配给小部件,并在未设置配置时设置回退默认值。如果以我尝试的方式不可能,我可以在设置值之前返回到If/else。谢谢你的指点JavaScript评估速记问题,javascript,boolean,Javascript,Boolean,可能非常简单,但我不确定如何正确编写以下评估和分配,其中我尝试将配置值分配给小部件,并在未设置配置时设置回退默认值。如果以我尝试的方式不可能,我可以在设置值之前返回到If/else。谢谢你的指点 console.log(config); // Outputs {autoplay: false} $(el).slick({ // Sets autoplay to true instead of false, as it evaluates it as n
console.log(config);
// Outputs
{autoplay: false}
$(el).slick({
// Sets autoplay to true instead of false, as it evaluates it as not null (I think)
autoplay: config.autoplay || true,
// If i set it this way, it works with the correct value as not being evaluated, but then i have no fallback value
//autoplay: config.autoplay
});
$(el).光滑({
autoplay:config.autoplay!=null?config.autoplay:true
});
这将检查值是否既不是null
也不是未定义
由于自动播放为false,
false | | true
将始终导致true。如果您只需要一个默认值,也可以使用此选项
let config
常量默认值={autoplay:true}
配置={}
log({…默认值,…配置})
config={autoplay:true}
log({…默认值,…配置})
配置={autoplay:false}
log({…默认值,…配置})
//内联
配置={}
log({autoplay:“default”,…config})
//多重
配置={arg2:“替换”,arg10:“扩展”}
log({arg1:1,arg2:2,arg3:3,…config})
Ifconfig.autoplay??true
不是选项,请尝试(config.hasOwnProperty(“autoplay”)?config.autoplay:true)
。这是否回答了您的问题? — 第一批谷歌搜索结果中的“js默认布尔值”。