Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

164
Views
Is there a shortcut for assigning arguments in a constructor to class fields? (Javascript)

In a class like the following:

class Rect {
  constructor({ x = 0, y = 0, width = 0, height = 0, bgColor = "#000000" } = {}) {
    this.x = x;
    this.y = y;
    this.width = width;
    this.height = height;
    this.bgColor = bgColor;
  }
}

It seems like there's a lot of repetition when assigning everything to the class object and I was wondering if there was some way to do it all at once.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

you can assign it like this.

class Rect {
  constructor({ x = 0, y = 0, width = 0, height = 0, bgColor = "#000000" } = {}) {
   Object.assign(this, {x, y, width, height, bgColor})
  }
}

const r = new Rect()
console.log(r, r.x, r.y, r.width, r.height, r.bgColor)

about 4 years ago · Juan Pablo Isaza Report

0

You can also use for...of loop like so:

class Rect {
   constructor(param = { x: 0, y: 0, width: 0, height: 0, bgColor: "#000000" }) {
      for (const [key, value] of Object.entries(param)) {
         this[key] = value
      }
   }
};

const b = new Rect();
console.log(b.x, b.y, b.width, b.height, b.bgColor)

Thow Vinod Liyanage's answer is more elegant and is shorter.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!