字符串到变量名,没有eval

时间:2019-06-18 17:02:11

标签: javascript string variables eval

我想知道是否可以在不使用eval的情况下将字符串转换为var名称。

我在文件中声明了以下json:

{
    "fields": {
        "usr_language": {"var": "this.$i18n.locale", "value": null},
        "token": {"var": "googleUser.getAuthResponse().id_token", "value": null}
    }
}

当我导入组件内部时,我想访问fields.usr_language.alias

不使用eval显然返回字符串“ this。$ i18n.locale”。有没有不用eval来获取变量值的方法?在这种情况下使用eval是否不安全?

1 个答案:

答案 0 :(得分:0)

您可以尝试通过动态创建函数来解决此问题,但是它具有与eval相同的问题。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function