I forgot to emphasize, setting some or even all of the flags to false isn't equivalent to turning off the rule completely. This still reports errors for using `foo` and `Baz`, though obviously not for `bar` because that's always safe: ```/* eslint no-use-before-define: ["error", { variables: false, functions: false, classes: false } ] */ alert(foo + bar + Baz); // 2 errors var foo = 1; function bar() {} class Baz {} ``` [Playground link](https://eslint.org/play/#eyJ0ZXh0IjoiLyogZXNsaW50IG5vLXVzZS1iZWZvcmUtZGVmaW5lOiBbXCJlcnJvclwiLCB7IHZhcmlhYmxlczogZmFsc2UsIGZ1bmN0aW9uczogZmFsc2UsIGNsYXNzZXM6IGZhbHNlIH0gXSAqL1xuXG5hbGVydChmb28gKyBiYXIgKyBCYXopOyAgICAgICAgLy8gMiBlcnJvcnNcblxudmFyIGZvbyA9IDE7XG5cbmZ1bmN0aW9uIGJhcigpIHt9XG5cbmNsYXNzIEJheiB7fVxuIiwib3B0aW9ucyI6eyJlbnYiOnsiYnJvd3NlciI6dHJ1ZX0sInJ1bGVzIjp7fSwicGFyc2VyT3B0aW9ucyI6eyJlY21hRmVhdHVyZXMiOnt9LCJlY21hVmVyc2lvbiI6MjAxNSwic291cmNlVHlwZSI6InNjcmlwdCJ9fX0=).
Bug 1870205 Comment 1 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
I forgot to emphasize, setting some or even all of the flags to false isn't equivalent to turning off the rule completely. This still reports errors for using `foo` and `Baz`, though obviously not for `bar` because that's always safe: ``` /* eslint no-use-before-define: ["error", { variables: false, functions: false, classes: false } ] */ alert(foo + bar + Baz); // 2 errors var foo = 1; function bar() {} class Baz {} ``` [Playground link](https://eslint.org/play/#eyJ0ZXh0IjoiLyogZXNsaW50IG5vLXVzZS1iZWZvcmUtZGVmaW5lOiBbXCJlcnJvclwiLCB7IHZhcmlhYmxlczogZmFsc2UsIGZ1bmN0aW9uczogZmFsc2UsIGNsYXNzZXM6IGZhbHNlIH0gXSAqL1xuXG5hbGVydChmb28gKyBiYXIgKyBCYXopOyAgICAgICAgLy8gMiBlcnJvcnNcblxudmFyIGZvbyA9IDE7XG5cbmZ1bmN0aW9uIGJhcigpIHt9XG5cbmNsYXNzIEJheiB7fVxuIiwib3B0aW9ucyI6eyJlbnYiOnsiYnJvd3NlciI6dHJ1ZX0sInJ1bGVzIjp7fSwicGFyc2VyT3B0aW9ucyI6eyJlY21hRmVhdHVyZXMiOnt9LCJlY21hVmVyc2lvbiI6MjAxNSwic291cmNlVHlwZSI6InNjcmlwdCJ9fX0=).
I forgot to emphasize, setting some or even all of the flags to false isn't equivalent to turning off the rule completely. This still reports errors for using `foo` and `Baz`, though obviously not for `bar` because that's always safe: ``` /* eslint no-use-before-define: ["error", { variables: false, functions: false, classes: false } ] */ alert(foo + bar() + new Baz()); // 2 errors var foo = 1; function bar() {} class Baz {} ``` [Playground link](https://eslint.org/play/#eyJ0ZXh0IjoiLyogZXNsaW50IG5vLXVzZS1iZWZvcmUtZGVmaW5lOiBbXCJlcnJvclwiLCB7IHZhcmlhYmxlczogZmFsc2UsIGZ1bmN0aW9uczogZmFsc2UsIGNsYXNzZXM6IGZhbHNlIH0gXSAqL1xuXG5hbGVydChmb28gKyBiYXIoKSArIG5ldyBCYXooKSk7ICAgICAgICAvLyAyIGVycm9yc1xuXG52YXIgZm9vID0gMTtcblxuZnVuY3Rpb24gYmFyKCkge31cblxuY2xhc3MgQmF6IHt9XG4iLCJvcHRpb25zIjp7ImVudiI6eyJicm93c2VyIjp0cnVlfSwicnVsZXMiOnt9LCJwYXJzZXJPcHRpb25zIjp7ImVjbWFGZWF0dXJlcyI6e30sImVjbWFWZXJzaW9uIjoyMDE1LCJzb3VyY2VUeXBlIjoic2NyaXB0In19fQ==).