Почему я не могу добавить к числовому свойству объекта? - PullRequest
0 голосов
/ 31 августа 2018

Если у меня есть простой объект, подобный этому:

const currentAccount = [{
    name: 'J.Edge',
    balance: 100,

}]

Во-первых, я прав, думая (простите моего новичка, изучал JS всего несколько недель), что я не могу напрямую добавить к свойству числового баланса, как в приведенной ниже функции, из-за приведения типа JS преобразовать 100 свойства баланса в строку?

const withdraw = (amount) => {
    currentAccount.balance - amount
    return Object.keys(currentAccount)

}

А во-вторых, какой самый простой способ обойти это?

1 Ответ

0 голосов
/ 31 августа 2018

Вы можете сделать это с помощью операторов присваивания += и -=.

Это то же самое, что написать 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 является массивом, поэтому вам нужно получить доступ к элементу там перед изменением значений.

...