________________________________
Yeah, it was wrong, I'm currently using like
```js
let ret = { ... ( couldBeNull ? {couldBeNull} : {} ) }
```
Yours is better and the usual idiom a bit hard to understand.
What I'm proposing is something like this
```js
let ret = { couldBeNull? }
```
or if you want a different name for the property
```js
let ret = { bar ?: couldBeNull }
```
It is not like there is no way to do this, there are plenty. But this way could
make code a bit easier to read.
P.D: Sorry for the duplicates and that new thread, I don't understand so much
this client and it is acting weird. Also I'm new to mailing lists.
________________________________
De: J Decker <[email protected]>
Enviado: martes, 28 de noviembre de 2017 09:07 p.m.
Para: Michał Wadas
Cc: Rodrigo Carranza; [email protected]
Asunto: Re: A way to prevent properties to be added to an object if they are
null or undefined.
Or feed it through JSON.parse( JSON.strinigfy( o ) ) which will delete
undefined things; doesn't help with null.
On Tue, Nov 28, 2017 at 5:50 PM, Michał Wadas
<[email protected]<mailto:[email protected]>> wrote:
You can just use proxy with proper set trap.
On Wed, 29 Nov 2017 at 02:30, Rodrigo Carranza
<[email protected]<mailto:[email protected]>> wrote:
A way to prevent properties to be added to an object if they are null or
undefined.
Currently this can be accomplished in many ways:
With an if:
```js
function foo(couldBeNull){
let ret = {}
if(couldBeNull){
ret.couldBeNull = couldBeNull
}
return ret
}
```
With ternary (kind of gross)
```js
function foo(couldBeNull){
let ret = {}
couldBeNull ? (ret.couldBeNull = couldBeNull) : null
return ret
}
```
Also gross
```js
function foo(couldBeNull){
let ret = {}
couldBeNull && (ret.couldBeNull = couldBeNull)
return ret
}
```
A bit hard to read:
```js
function foo(couldBeNull){
let ret = {
...({couldBeNull} : {})
}
return ret
}
```
Requires importing a lib or writing the function by yourself. Also it has to
iterate over all values
```js
function foo(couldBeNull){
let ret = {
couldBeNull
}
ret = removeEmptyValues(ret) // imported from some library
return ret
}
```
Wouldn't it be better something like this?:
```js
function foo(couldBeNull){
let ret = {
couldBeNull?
}
return ret
}
```
Or if you want to set other property name
```js
function foo(couldBeNull){
let ret = {
bar ?: couldBeNull // bar is not added if couldBeNull is null or undefined
}
return ret
}
```
[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif]<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
Libre de virus.
www.avast.com<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
_______________________________________________
es-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss