https://medium.com/@blendvisions/simplifying-javascript-error-handling-the-safe-assignment-operator-as-a-try-catch-alternative-bee7408c5906