Coincidencia de nombre de función y variable en JavaScript

De lo descrito anteriormente se deduce que la existencia de una variable y una función con el mismo nombre fácilmente puede llevar a un problema.

En el siguiente ejemplo, la función func será sobrescrita y en su lugar se convertirá en la cadena 'string':

javascriptfunction func() {
  return '!';
}

func = 'string'; // sobrescribimos la variable con la función con una cadena
func(); // obtendremos un error, porque func no es una función

Para evitar que esto ocurra, se debe seguir una regla común a todos los lenguajes de programación: las funciones deben ser verbos y las variables sustantivos.