Поскольку функции являются членами первого класса в Javascript - на них можно ссылаться как на любое выражение. Например, может быть, вы хотите сохранить его в другой переменной:
function foo() { console.log('foo'); }
const anotherReferenceToFoo = foo;
anotherReferenceToFoo();
Или, может быть, вы хотели передать саму функцию без ее вызова, например addEventListener
:
function foo() { console.log('foo'); }
button.addEventListener('click', foo);
<button id="button">click</button>
Или setTimeout
:
function foo() { console.log('foo'); }
setTimeout(foo, 1000);
Ссылка на имя функции без ее вызова является очень полезной техникой. Без этого многие вещи были бы невозможны.
Если у вас есть только строка something
, на которой больше ничего нет, это не ошибка по той же причине, что и неиспользуемое выражение не является ошибкой:
'5';
true;
() => 'foo';
console.log('syntax is fine');
Если вы хотите убедиться, что не допускаете подобных ошибок, рассмотрите возможность установки ESLint и применения правила no-unused-expressionions .