Certainly! But with Javascript not having an int type, it can lead to unexpected bugs.
Sometimes the space between the declared variable and the loop fills up with other code, especially in a project that's not squeaky clean to begin with.
Or the variable was passed in as an argument to a function, and eventually someone calls the function with unexpected input.
Maybe a coworker wants to loop over something in batched chunks, and naively divides x by a chunkSize.
Assuming that x in while(x--) is an integer which will hit zero isn't necessarily bad, just something to be careful with.
I have great experience in IT over 12 years: front / back - ends, mobile, system administration and deployment cycle. I implement effective and great software products.
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:
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.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Certainly! But with Javascript not having an int type, it can lead to unexpected bugs.
Sometimes the space between the declared variable and the loop fills up with other code, especially in a project that's not squeaky clean to begin with.
Or the variable was passed in as an argument to a function, and eventually someone calls the function with unexpected input.
Maybe a coworker wants to loop over something in batched chunks, and naively divides
x
by a chunkSize.Assuming that
x
inwhile(x--)
is an integer which will hit zero isn't necessarily bad, just something to be careful with.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:
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 orMath
functions.