我的情况是,我正在尝试将 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/