javascript - 不带 eval 的字符串到变量名

标签 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 是否不安全?

最佳答案

你可以尝试通过动态创建一个函数来解决这个问题,但它和 eval 有同样的问题。

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

关于javascript - 不带 eval 的字符串到变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56653910/

相关文章:

javascript - 为什么当我在框中输入数字并选择 Guess 时运行数字 randomNumber 函数

javascript - 在 Rails Controller 中,如何防止双重提交(当用户双击提交按钮或按两次回车时)?

javascript - 清理大写与小写

variables - 在extjs中如何在 View 上显示变量?

javascript - 在 Django 中,如何将 Python 日期时间字符串转换为 Javascript Date 对象?

c - 如何找到 C 中两个字符串中单词的对称差异?

arrays - 将 2d 字符串数组转换为 double swift 的 2d 数组

PHP:从字符串的开头/结尾修剪单词或它的一部分

php - JavaScript 中是否有相当于 "new Array (number)"的 PHP?

C++:显示变量