Disallow Early Use (no-use-before-define)

禁止定义前使用 (no-use-before-define)

In JavaScript, prior to ES6, variable and function declarations are hoisted to the top of a scope, so it’s possible to use identifiers before their formal declarations in code. This can be confusing and some believe it is best to always declare variables and functions before using them.

Options

{"no-use-before-define":["error",{"functions":true,"classes":true}]}

functions (boolean) -
The flag which shows whether or not this rule checks function declarations.
If this is true, this rule warns every reference to a function before the function declaration.
Otherwise, ignores those references.
Function declarations are hoisted, so it’s safe.
Default is true.

classes (boolean) -
The flag which shows whether or not this rule checks class declarations of upper scopes.
If this is true, this rule warns every reference to a class before the class declaration.
Otherwise, ignores those references if the declaration is in upper function scopes.
Class declarations are not hoisted, so it might be danger.
Default is true.

variables (boolean) -
This flag determines whether or not the rule checks variable declarations in upper scopes.
If this is true, the rule warns every reference to a variable before the variable declaration.
Otherwise, the rule ignores a reference if the declaration is in an upper scope, while still reporting the reference if it’s in the same scope as the declaration.
Default is true.