When a key that is not in the object is called, it returns undefined. I want to return a string that I specify instead of undefined. for example
let obj = { key1: 'key1' } let res = obj.key2; console.log(res);
I want console.log (res)
to return “key not found”, not undefined
.
Is this possible?
Advertisement
Answer
You could take the Nullish coalescing operator ??
, which repects other falsy values than undefined
or null
.
let obj = { key1: 'key1' }, res = obj.key2 ?? 'key2 not found'; console.log(res);
If undefined
/null
are real values, the key should be checked in advance.
let obj = { key1: null }, res = 'key1' in obj ? obj.key1 : 'key2 not found'; console.log(res);