Learned D3 at Businessweek, started using Observable to do my job at Kensho, took time off to write notebooks about Mayans and Galton, moved to San Francisco to work for Observable. Now work for it remotely from the Berkshires where my wife runs Avaloch.
I routinely define the function:
sign = x => Math.sign(x) || Math.sign(1/x);
This is different than the mathematical signum function, but helps in cases where -0 and +0 should have different behavior.