6 - https://web.archive.org/web/20200717110117/https://yuiblog.com/blog/2006/04/11/with-statement-considered-harmful/
11 The `with` statement is potentially problematic because it adds members of an object to the current scope, making it impossible to tell what a variable inside the block actually refers to.
15 This rule disallows `with` statements.
17 If ESLint parses code in strict mode, the parser (instead of this rule) reports the error.
19 Examples of **incorrect** code for this rule:
24 /*eslint no-with: "error"*/
27 r = Math.sqrt(x * x + y * y); // is r a member of point?
33 Examples of **correct** code for this rule:
38 /*eslint no-with: "error"*/
41 const r = ({x, y}) => Math.sqrt(x * x + y * y);
48 If you intentionally use `with` statements then you can disable this rule.