Javascript 什么';这是将变量设置为getElementById';如果找不到元素,则为s值或默认值?

Javascript 什么';这是将变量设置为getElementById';如果找不到元素,则为s值或默认值?,javascript,Javascript,我试过了 但是,由于它返回null,这似乎不起作用 到目前为止,我能想到的最短的是 var test = document.getElementById("some_element").value || "defaultvalue"; 或 但是,是否有更简洁的方法编写此回退?您可以将新的可选链接运算符与|结合使用: var test=document.getElementById(“某些元素”)?.value | |“defaultvalue”; 控制台日志(测试)您可以在此处使用和的组合:

我试过了

但是,由于它返回
null
,这似乎不起作用

到目前为止,我能想到的最短的是

var test = document.getElementById("some_element").value || "defaultvalue";


但是,是否有更简洁的方法编写此回退?

您可以将新的可选链接运算符与
|
结合使用:

var test=document.getElementById(“某些元素”)?.value | |“defaultvalue”;

控制台日志(测试)您可以在此处使用和的组合:


略短的版本,无需检查是否为空,并使用可选链接

var valueexists=document.getElementById(“某些元素”)?.innerText??“默认值”;
var valuenotthere=document.getElementById(“some”?.innerText??“默认值”;
console.log(valueexists);
console.log(valuenotthere)

value present
新的操作符很不错,但是如果您需要完全的浏览器兼容性,并且不想使用transpiler,这可能是另一种选择:

console.log(
(document.getElementById(“nothing”)|{value:null})
.value | |“默认”
);
.as控制台包装{top:0;最大高度:100%!重要;}
var test = "defaultvalue";
if(document.getElementById("some_element") !== null) test = document.getElementById("some_element").value;
var test = (document.getElementById("some_element") !== null)?document.getElementById("some_element").value:"defaultvalue";
var test = document.getElementById("some_element")?.value ?? "defaultvalue";