为什么我不能添加到数字对象 属性?
Why can't I add to a numeric object property?
如果我有一个像这样的简单对象:
const currentAccount = [{
name: 'J.Edge',
balance: 100,
}]
首先,我是否正确地认为(原谅我的新手,只学习了几周的 JS)我不能直接添加到数字余额 属性 中,如下面的函数,因为 JS 类型强制将余额 属性 的 100 转换为字符串?
const withdraw = (amount) => {
currentAccount.balance - amount
return Object.keys(currentAccount)
}
其次,解决这个问题的最简单方法是什么?
您可以使用赋值运算符 +=
和 -=
。
这与写variable = variable + change
或variable = variable - change
相同
const currentAccount = [{
name: 'J.Edge',
balance: 100,
}];
const withdraw = (amount) => {
currentAccount[0].balance -= amount
}
const deposit = (amount) => {
currentAccount[0].balance += amount
}
withdraw(20); // => 100 - 20
deposit(45); // => 80 + 45
console.log(currentAccount[0].balance); // => 125
请注意 currentAccount
是一个数组,因此您需要在更改值之前访问其中的元素。
如果我有一个像这样的简单对象:
const currentAccount = [{
name: 'J.Edge',
balance: 100,
}]
首先,我是否正确地认为(原谅我的新手,只学习了几周的 JS)我不能直接添加到数字余额 属性 中,如下面的函数,因为 JS 类型强制将余额 属性 的 100 转换为字符串?
const withdraw = (amount) => {
currentAccount.balance - amount
return Object.keys(currentAccount)
}
其次,解决这个问题的最简单方法是什么?
您可以使用赋值运算符 +=
和 -=
。
这与写variable = variable + change
或variable = variable - change
相同
const currentAccount = [{
name: 'J.Edge',
balance: 100,
}];
const withdraw = (amount) => {
currentAccount[0].balance -= amount
}
const deposit = (amount) => {
currentAccount[0].balance += amount
}
withdraw(20); // => 100 - 20
deposit(45); // => 80 + 45
console.log(currentAccount[0].balance); // => 125
请注意 currentAccount
是一个数组,因此您需要在更改值之前访问其中的元素。