javascript - 为什么创建对象时出现意外 token 错误?

标签 javascript arrays node.js node-request

我的情况是,我正在尝试将 header 添加到 Node 请求对象。但我只是专注于创建 headers 数组。

let headers = [];
let options = {
  url: this.baseUrl + appconst.route.postMessage
};

if (token) {
  console.log(appconst.headers.authToken); // no problem here
  let authTokenHeader = { appconst.headers.authToken: token.toBase64() }; // throws
  headers.push(authTokenHeader);
}

if (msg) {
  headers.push({ 'content-type': 'application/json' });
  options.body = JSON.stringify(msg);
}

“抛出”行给出...

  let authTokenHeader = { appconst.headers.authToken: token.toBase64() };
                                  ^
  SyntaxError: Unexpected token .

你能帮我理解这里发生了什么吗?我很困惑,因为定义了“const.headers.authToken”并且它上面的行工作正常。是的,我对 JavaScript 很陌生。

最佳答案

const - 是保留关键字。 只需根据您的需要选择另一款即可。

更新:

因此,就我们使用 appconst 而不是 const 而言 - 还有另一个问题:您尝试分配嵌套属性。 有两种解决方法。首先,您创建像这样的对象文字:

let authTokenHeader = { 
  appconst: {
    headers: {
      authToken: token.toBase64() 
    }
  }
};

另一种方法是创建如下所示的嵌套属性:

let authTokenHeader = {};

然后分配属性:

authTokenHeader.appconst = {
  headers: {
    authToken: token.toBase64() 
  }
};

有一次我看到了另一种定义属性的奇怪方法,但就我们都希望我们的代码可读而言 - 让我们保持原样。

关于javascript - 为什么创建对象时出现意外 token 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44228811/

相关文章:

javascript - 在 Javascript 中嵌套对象 - 匿名不是函数错误

java - 字符串设置为 ArrayList?

java - 检查数组中模式的递归方法

javascript - 将裁剪后的图像发送到客户端上的 ajax 数据库和服务器上的 PHP

javascript - 使用下拉选择选项按日期对列表进行排序

javascript - 如何在 JavaScript 中将数组中的所有元素转换为整数?

arrays - VB中对象数组的使用方法

javascript - 将异步函数包装在 Promise 中是否有任何目的?

javascript - 如何从javascript中的对象字面量中提取注释

node.js - 使用 NPM 和 Gulp 的 Google Material Design 图标字体