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

159
Views
Object destructuring: Assign null values in one line

Assuming I have an object like this

foo = {
    a: 1,
    b: 2,
    c: 3
};

I would destructure it this way

const {a, b, c} = foo;

However, what, if the keys a, b and c do not exist?

foo = null;

This won't work then

const {a, b, c} = foo;

I would have to do something like

let a, b, c;

if(foo) {
    a = foo.a;
    b = foo.b;
    c = foo.c;
};

Is there a way to do this in one line? Something like

 const {a, b, c} = foo ? foo : null; // this is not working

null is not an object. (evaluating '_ref2.a')

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

0

When foo is not an object, you are going to have to give it an object so the destructuring can happen. So set it to an empty object using an 'or'. Now if foo is defined it will use foo, if it is not defined it will use the default object.

const foo = undefined;
const { a, b, c } = foo || {};
console.log(a, b, c);

If you want default values, set them in the object.

const foo = undefined;
const { a, b, c } = foo || {a : 'a', b: 'b', c: 'c' };
console.log(a, b, c);

If you want default values if the object does not provide them all, you can set values in the destructuring.

const foo = { a: 1};
const { a = "a", b = "b", c = "c" } = foo || {};
console.log(a, b, c);

about 4 years ago · Juan Pablo Isaza Report

0

What about destructuring default parameters? If foo could be undefined set = foo || {} in destructuring to avoid exception

let foo = {};
const {a = null, b = null, c = null} = foo;

console.log('a:', a);
console.log('b:', b);
console.log('c:', c);

about 4 years ago · Juan Pablo Isaza Report

0

It will work like you might expect, the variables a b and c will be created with the value of undefined. this is the fallback when also trying to access a property which doesn't exist on a certain object.

const foo = {};
console.log(foo.a); // undefined

const {a, b, c} = foo;

console.log(a); // undefined
console.log(b); // undefined

console.log(d); // Uncaught ReferenceError: d is not defined

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!