Is there an operator that would allow the following logic (on line 4) to be expressed more succinctly?
const query = succeed => (succeed? {value: 4} : undefined);
let value = 3;
for (let x of [true, false]) {
try { value = query(x).value; } catch {} //
The output is 4. If there is no .value field in the response, I want to keep the old value / don´t want the assignment to execute.
Notes:
- If value = query(x)?.value were used, it would assign undefined to value
- There is also the ??= operator, however it isn´t useful here, value ??= ... would only assign if value is currently null/undefined
- In CoffeeScript, value = query(x).value if query(x)?.value? achieves the desired behaviour without try/catch, although it's repetitive
- value = query(x)?.value ?? value works but isn't conditional assignment, the assignment still happens, if we were setting an Object's property the setter would be called unnecessarily. It is also repetitive
- This logic cannot be abstracted into a function i.e. value = smart(query(x), "value"), the assignment can´t be made conditional that way
Keywords?
null propagation, existence operator
Your Answer
0 answers
Hot tools Tags
Hot Questions
How to pass an array into a SQL Server stored procedure
2026-01-31 22:24:05
What to do with mysqli problems? Errors like mysqli_fetch_array(): Argument #1 must be of type mysqli_result and such
2026-01-31 22:02:53
Convert a JavaScript string in dot notation into an object reference
2026-01-31 21:22:07
MySQL error #2014 - Commands out of sync; you can't run this command now [closed]
2026-01-31 21:01:19
How do I format a date in JavaScript?
2026-01-31 20:43:18
Popular tool
vc9-vc14 (32+64 bit) runtime library collection (link below)
Download the collection of runtime libraries required for phpStudy installation
VC9 32-bit
VC9 32-bit phpstudy integrated installation environment runtime library
PHP programmer toolbox full version
Programmer Toolbox v1.0 PHP Integrated Environment
VC11 32-bit
VC11 32-bit phpstudy integrated installation environment runtime library
SublimeText3 Chinese version
Chinese version, very easy to use
Hot Topics
Douyin level price list 1-75
20532
7
20532
7
wifi shows no ip assigned
13639
4
13639
4
Hot Article
What should I do if I can't always get the spot? Ouyitun Bibao multi-currency rotation and rebalancing strategy
2026-04-04
By DDD
What are the consequences of a loan being liquidated? OuYi current loan pledge rate warning and margin call
2026-04-04
By DDD
How to use Nested Sequences in Premiere? (Project Organization)
2026-04-04
By 下次还敢
7 Best Thunderbolt 4 Cables: Cables That Roar
2026-04-05
By DDD
Top Antivirus For Multiple Devices In 2023
2026-04-04
By DDD






