Search code examples
javascriptdestructuring

Array destructuring and assign to a class field values?


class ALU {
  constructor (x, y) {
    this.zx = '0' // Zero the x input
    this.nx = '0' // Negate the x input
    this.zy = '0' // Zero the y input
    this.ny = '0' // Negate the y input
    this.f = '0' // Function code: 1 for Add, 0 for And
    this.no = '0' // Negate the output
  }

  ...

  setControlBits (controlBits) {
    this.zx = controlBits[0]
    this.nx = controlBits[1]
    this.zy = controlBits[2]
    this.ny = controlBits[3]
    this.f = controlBits[4]
    this.no = controlBits[5]
  }

  ...
}

How to write this code in a succinct way? Like can we destructure the array and assign it to the class field values?


Solution

  • Try this one.

    function Foo(list) {
        [this.x, this.y] = list;
    }
    
    foo = new Foo([1, 2]);
    
    console.log(foo.x);
    console.log(foo.y);