Skip to content

Latest commit

 

History

History
19 lines (16 loc) · 394 Bytes

value-of.md

File metadata and controls

19 lines (16 loc) · 394 Bytes

Overriding valueOf. This will convert a class into primitive value.

class Expense {
  constructor(value) {
    this.value = value
  }
  valueOf() {
    return this.value
  }
}

const expenses = [1, 2, 3, 4, 5].map(i => new Expense(i))
console.log(expenses.reduce((a, b) => a + b, 0))

const petrol = new Expense(55)
const grocery = new Expense(34.40)
console.log(petrol + grocery)