Unnecessary calls to .bind() should not be used.
The .bind() method allows specifying the value of this and, optionally, the values of some function arguments. However,
if this is not used in the function body, calls to .bind() do nothing and should be removed.
Calling .bind() on arrow functions is a bug because the value of this does not change when .bind() is
applied to arrow functions.
Remove calls to .bind() method.
let x = function fn() {
return 123;
}.bind({value: 456}); // Noncompliant
let y = (() => this.body).bind(document); // Noncompliant
let x = (function callback() {
return this.body;
}).bind(document); // ok, not an arrow function
let y = (function print(x) {
console.log(x);
}).bind(this, foo); // ok, binds argument
Function.prototype.bind()