Javascript 在JS中执行undefined和createElement的更好方法

Javascript 在JS中执行undefined和createElement的更好方法,javascript,Javascript,有没有更好或更干净的方法来用JS编写以下代码 var element = document.getElementById("abc"); if (element === undefined) { var element = document.createElement("div"); element.id="abc"; } let element=document.getElementById(“abc”); if(!元素){ 元素=document.createElement(

有没有更好或更干净的方法来用JS编写以下代码

var element = document.getElementById("abc");
if (element === undefined) {
   var element = document.createElement("div");
   element.id="abc";
}
let element=document.getElementById(“abc”);
if(!元素){
元素=document.createElement(“div”);
element.id=“abc”;
}
let element=document.getElementById(“abc”);
if(!元素){
元素=document.createElement(“div”);
element.id=“abc”;

}
要精确复制示例代码:

let element = document.getElementById ("abc") || document.createElement ("div");
element.id="abc";
或者如果这是元素所需的唯一操作

(document.getElementById ("abc") || document.createElement).id) = "abc";

但是请注意,如果执行了
createElement
,新元素将不会出现在文档中。

要准确复制示例代码:

let element = document.getElementById ("abc") || document.createElement ("div");
element.id="abc";
或者如果这是元素所需的唯一操作

(document.getElementById ("abc") || document.createElement).id) = "abc";

但是请注意,如果执行了
createElement
,新元素将不会出现在文档中。

在我看来非常干净。除非您将使用
let
而不是
var
,并将第二个
var
关闭以重用相同的变量。您不应该与未定义的变量进行比较。如果没有ID为“abc”的元素,那么document.getElementById将返回null,因此您应该将其与之进行比较(尽管在实践中,如果(!element){…}就足够了,则它没有任何区别)。:-)我觉得很干净。除非您将使用
let
而不是
var
,并将第二个
var
关闭以重用相同的变量。您不应该与未定义的变量进行比较。如果没有ID为“abc”的元素,那么document.getElementById将返回null,因此您应该将其与之进行比较(尽管在实践中,如果(!element){…}就足够了,则它没有任何区别)。:-)“如果这是元素所需的唯一操作”,似乎不太可能。我看不出有什么理由创建一个元素并给它分配一个ID,然后不保留对它的引用。“如果这是该元素唯一需要的操作”似乎不太可能。我看不出创建元素并为其分配ID,然后不保留对它的引用的原因。
const
应该是
let
。当我运行代码段时,我的浏览器会抱怨:Assignment to constvariable@HBP,谢谢,先生,更改:-)
const
应该是
let
。当我运行代码段时,我的浏览器会抱怨:Assignment to constvariable@HBP,谢谢,先生,更改:-)