Этот тест на понимание отличия
объявления функции
и
функционального выражения.
function f() {}; // традиционное объявление функции
тут
f
вылезет наверх ("hoisting") и будет доступна всему коду.
(function f() {}) // функциональное выражение function expression
// ещё варианты
const x = function f() {};
console.log( function f() {} );
имя
f
будет относиться к этой функции только внутри неё, для рекурсивных вызовов, например.
В тесте
if( function() {})
как раз создаёт function expression. Поэтому
f
нигде снаружи не видна.