It's true that it is dangerous.
I see a reason to use tools (approaches) in related situations.
Construction without zero only in the case, when you know what you do. For example, iterate through array elements from the end:
const arr = ["this", "is", "c", "h", "a", "r"]
let n = arr.length
const el = arr[n]
or count input value as a number. In this case, input can be any, the function must know the type and cast to it. If float – make it as int by parseInt or Math functions.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.