https://medium.com/@ashwinKumarCode/demystifying-javascript-understanding-implicit-type-coercion-b64dc4278cca