¿Qué escribe normalmente cuando prueba el valor de retorno de indexOf?Práctica recomendada para probar el valor de retorno de indexOf
if str.indexOf("a") < 0
vs
if str.indexOf("a") == -1
Would un método preferirse sobre el otro?
En realidad estoy planteando esta pregunta para cualquier función en cualquier idioma que devuelva -1 por error.
Normalmente prefiero el enfoque < 0, porque si la función se extiende para devolver -2 en algún otro caso, el código seguirá funcionando.
Sin embargo, observo que el enfoque == -1 es más comúnmente utilizado. ¿Hay alguna razón por qué?
En el caso de Java, indexOf especifica claramente que devolverá -1 si no se encuentra coincidencia en su cadena. Por lo tanto, cambiar eso sería una ruptura en la API y, por lo tanto, podemos contar con el hecho de que devolverá -1. Pero prefiero usar '' 0' sobre '== - 1' –
' if (! ~ Str.indexOf ("a")) 'es un poco menos detallado. –