Javascript:仅当对象存在时才使用 JSON.parse



我在使用 if 语句时遇到了一些麻烦。我想仅在找到某个 cookie 时才解析 JSON。这是我所拥有的:

var isCookie = if ($cookieStore.get('user') !== 'undefined') {
        JSON.parse($cookieStore.get('user'))
    } else {
        $cookieStore.get('user')
    };
var accessLevels = currentUser = isCookie || { access_token: '', role: userRoles.public, user_id: '' };

但是我得到一个Uncaught SyntaxError: Unexpected token if错误。

如何仅在用户 cookie 存在时才解析我的 JSON?

var cookie = $cookieStore.get('user');
var isCookie = cookie ? JSON.parse(cookie) : cookie;

唯一的问题是,如果无论如何都没有找到cookie,isCookie将为空。

你的语法在你声明你的if/else的方式上是不正确的。 在这种情况下,请考虑使用三元运算符

var cookieStoreUser = $cookieStore.get('user');
var isCookie = cookieStoreUser ?  JSON.parse(cookieStoreUser) : cookieStoreUser;

相关内容

最新更新