在 JavaScript 中,当我们引用一个未定义的对象时,通常会导致 TypeError 错误。为了避免这种情况和提高代码健壮性,我们可以通过一些技巧自动创建对象。
直接使用逻辑运算符
最简单的方法是使用逻辑运算符 ||
实现自动创建对象,例如:
----- --- - --- ----- ------- - -------- -- -------- ------- --------------------- -- -------- ------
在这个示例中,我们尝试获取 obj.prop
的值,但由于 prop
不存在,所以返回 undefined
。然后,逻辑运算符 ||
的右侧的默认值 "default value"
将被返回。此时,如果我们希望将该属性添加到对象中,可以使用以下代码:
----- --- - --- -------- - -------- -- -------- ------- ---------------------- -- -------- ------
在这个示例中,我们首先获取 obj.prop
的值——它将返回 undefined
,因为该属性不存在。然后,逻辑运算符 ||
的右侧的默认值 "default value"
将被赋给该属性。
使用 ES6 解构
还有一种更优雅的方式是使用 ES6 解构语法,类似于以下示例:
----- --- - --- ----- - ---- - -------- ------ - - ---- ------------------ -- -------- ------
在这个示例中,我们使用解构语法来获取 obj.prop
的值。如果该属性不存在,则使用默认值 "default value"
。
结论
自动创建未定义对象是 JavaScript 中的一种基本技巧。无论你选择哪种方法,代码健壮性都将得到提高。此外,在编写代码时,请记得考虑到原型链,以避免潜在的错误。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/27184