2 Checks for bindings that shadow other bindings already in
3 scope, either without an initialization or with one that does not even use
7 Name shadowing can hurt readability, especially in
8 large code bases, because it is easy to lose track of the active binding at
9 any place in the code. This can be alleviated by either giving more specific
10 names to bindings or introducing more scopes to contain the bindings.
15 let x = z; // shadows the earlier binding
21 let w = z; // use different variable name