On 1/27/2021 6:39 PM, Deuce wrote:
https://gitlab.synchro.net/main/sbbs/-/commit/87dceb286ef8215ca6d2efa122e21d33f505b92b#note_1411
Many truthy things can be non-objects, so testing for
thruthiness isn't> useful. > The test is there specifically
to find things that can be passed to Object.keys()> without
an exception.
The else case is an implied return... expanding to something
like:
```
if (typeof obj !== 'object')
return
if (obj === null)
return
```
would be needlessly verbose.
I generally prefer a single return as a pattern except in cases
where indentation gets too deep or when goto would be required.
Hunting for returns when debugging is a PITA.
Anything that is truthy (and some that aren't, like `false`) can be
passed to Object.keys() .. so that's the only check that is needed.
```
Object.keys(true)
[]
Object.keys(1)
[]
Object.keys(new Date())
[]
Object.keys(false)
[]
Object.keys([])
[]
```
--
Michael J. Ryan (tracker1)
+o roughneckbbs.com
---
þ Synchronet þ Roughneck BBS - roughneckbbs.com