Javascript - 安全检查/访问潜在未定义对象上的属性的简写表示法

con*_*att 4 javascript

在访问其errorMessage属性之前,检查jsonObject是否未定义的最短语法是什么?

var jsonObject = SomeMethodReturningAnObject();

if (jsonObject.errorMessage === undefined) // jsonObject can be undefined and this will throw an error
   /* success! */
else
   alert(jsonObject.errorMessage);
Run Code Online (Sandbox Code Playgroud)

pim*_*vdb 5

您可以使用&&运算符,因为如果左侧是undefined:它不评估右侧:

if (jsonObject && jsonObject.errorMessage === undefined)
Run Code Online (Sandbox Code Playgroud)