Las declaraciones de funciones no deben colocarse en bloques. Use una expresión de función o mueva la declaración a la parte superior de la función externa

Tengo el siguiente código:

if (typeof console === "object" && typeof console.error === "function") {
    function e(msg) {"use strict"; console.info(msg);}
}

Para lo cual jsLint da el siguiente error:

Las declaraciones de funciones no deben colocarse en bloques. Use una expresión de función o mueva la declaración a la parte superior de la función externa.

¿Por qué está dando este error y qué significa?

Respuestas a la pregunta(2)

Su respuesta a la pregunta