Javascript 中字符串的方括号
Square Brackets for String in Javascript
我不明白为什么我需要在下面的“account”变量周围加上方括号,因为“accounts”变量构成一个字符串。
export default {
name: 'App',
data () {
return {
web3: null,
account: null,
contractInstance: null
}
},
mounted () {
web3Cont().then((res) => {
this.web3 = res
this.contractInstance = new this.web3.eth.Contract(contractAbi, contractAddress)
this.web3.eth.getAccounts().then((accounts) => {
[this.account] = accounts
})
}
根据名称,我猜测 getAccounts
returns 多个 帐户,大概是一个数组(或者至少是某种可迭代的).如果没有 []
,您就是将该数组分配给 this.account
。 使用 []
,但是,您正在使用解构从 array/iterable.
中挑选出第一个帐户
这是一个更简单的例子:
const accounts = ["a", "b", "c"];
let variable1;
let variable2;
variable1 = accounts;
console.log(typeof variable1, variable1); // "object" ["a", "b", "c"]
[variable2] = accounts;
console.log(typeof variable2, variable2); // "string" "a"
我怀疑您可能想要 API 除了 getAccounts
之外 returns 符合某些条件的单个帐户。
我不明白为什么我需要在下面的“account”变量周围加上方括号,因为“accounts”变量构成一个字符串。
export default {
name: 'App',
data () {
return {
web3: null,
account: null,
contractInstance: null
}
},
mounted () {
web3Cont().then((res) => {
this.web3 = res
this.contractInstance = new this.web3.eth.Contract(contractAbi, contractAddress)
this.web3.eth.getAccounts().then((accounts) => {
[this.account] = accounts
})
}
根据名称,我猜测 getAccounts
returns 多个 帐户,大概是一个数组(或者至少是某种可迭代的).如果没有 []
,您就是将该数组分配给 this.account
。 使用 []
,但是,您正在使用解构从 array/iterable.
这是一个更简单的例子:
const accounts = ["a", "b", "c"];
let variable1;
let variable2;
variable1 = accounts;
console.log(typeof variable1, variable1); // "object" ["a", "b", "c"]
[variable2] = accounts;
console.log(typeof variable2, variable2); // "string" "a"
我怀疑您可能想要 API 除了 getAccounts
之外 returns 符合某些条件的单个帐户。