Javascript 未定义数组的JSON.parse回退以避免异常

Javascript 未定义数组的JSON.parse回退以避免异常,javascript,arrays,undefined,fallback,Javascript,Arrays,Undefined,Fallback,我正在分析我的数组,如果已定义,则一切正常: JSON.parse(myArray); 但是,如果myArray未定义,我会得到一个异常 最好的退路是什么,还有比这更好的吗: JSON.parse(myArray || '[]'); 类似于,我们首先验证对象,以避免未定义时出现异常 if (obj) { //do something with obj.something } 那么,还有比这短的吗 JSON.parse(myArray || '[]'); 谢谢。您当前的方法也很好。我真的

我正在分析我的数组,如果已定义,则一切正常:

JSON.parse(myArray);
但是,如果myArray未定义,我会得到一个异常

最好的退路是什么,还有比这更好的吗:

JSON.parse(myArray || '[]');
类似于,我们首先验证对象,以避免未定义时出现异常

if (obj) {
//do something with obj.something
}
那么,还有比这短的吗

JSON.parse(myArray || '[]'); 

谢谢。

您当前的方法也很好。我真的不认为有什么理由改变它,但如果你觉得你需要两个选择:

首先,您可以初始化
myArray
,使其在赋值之前默认为空数组

var myArray = '[]';
否则,如果
myArray
是传递给要从中解析它的方法的参数,则可以在参数部分中对其进行默认设置

function dosomething(myArray = '[]') {
    JSON.parse(myArray);
}

这看起来很短。这与您不需要修改lib函数来检查undefinedright一样好,但它应该是
myArray=“[]”,而不仅仅是
[]