JavaScript 内置语言功能或 API 函数在严格模式下引用未定义的属性时返回未定义

标签 javascript properties reference undefined typeerror

在严格模式下引用未定义的属性时,是否有任何 JavaScript 内置语言功能或 API 函数会返回未定义?

例如:

undefined.a

抛出一个TypeError

我可以定义以下 getProperty 函数来执行我想要的操作,我只是更喜欢使用 JavaScript 语言功能或内置 API 函数,而不是定义自己的函数:

function getProperty(o, key) {return o && o[key];}
getProperty(undefined, 'a');

最佳答案

我不知道这对您来说是否足够整洁,但您不需要函数 - 您只需使用 && 即可,如下所示:

undefined && undefined.a

(因为&&如果可以转换为false则返回其左手操作数,否则返回其右手操作数。)

关于JavaScript 内置语言功能或 API 函数在严格模式下引用未定义的属性时返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17111020/

相关文章:

javascript - 使用具有零宽度lookbehind的正则表达式在JavaScript中分割字符串

java - 如何将 a\n 放入属性文件的值中?

c# - 实例化之后是赋值编译,但是

typescript - 使用 TypeScript 在现有对象上定义 getter/setter

c# - 命名空间 'Reporting' 中不存在类型或命名空间名称 'Microsoft'

c++ - 使用引用反序列化对象,没有默认构造函数(boost::serialization)

javascript - 如何仅在未与元素交互时为其设置动画?

javascript - Angular 7 滤波器阵列

javascript - 从 bluebird Promise.each() 中调用异步函数

delphi - 如何发布整数列表?