在严格模式下引用未定义的属性时,是否有任何 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/