JavaScript

JavaScript

Made by DeepSource

Found the usage of undeclared variables JS-0125

Bug risk
Critical

Variables that aren't defined, but accessed may throw reference errors at runtime.

NOTE: In browser applications, DeepSource recommends the use of ESModules over regular text/javascript scripts. Using variables that are injected by scripts included in an HTML file is currently not supported.

Potential ReferenceErrors may result from misspellings of variable and parameter names, or accidental implicit globals (for example, forgetting the var keyword in a for loop initializer). Any reference to an undeclared variable causes a warning, unless the variable is explicitly mentioned in a /*global ...*/ comment, or specified in the globals key in the ESLint configuration file. A common use case for these is if you intentionally use globals that are defined elsewhere (e.g. in a script sourced from HTML).

Bad Practice

const foo = someFunction(); // `someFunction` is not defined
const bar = baz + 1; // 'baz' is undeclared

Recommended

import { someFunction } from 'some-file';

const baz = Math.random();
const foo = someFunction();
const bar = baz + 1;