Add a check for unnecessary use of call? #650

Closed
chrisprice opened this Issue Sep 14, 2012 · 3 comments

Projects

None yet

2 participants

@chrisprice

Given -

var a = {
b: function() {}
};

Should the following code not trigger a warning about the unnecessary use of call?

a.b.call(a);

(I think the above is exactly equivalent to - a.b();)

If so the check should probably be generalised to n arguments.

@valueof
Member
valueof commented Sep 16, 2012

What is the reasoning behind this? Just overall code cleanliness or something bigger? If former, we'll make it possible to extend JSHint for such cases soon. If latter, please send a patch.

@valueof valueof closed this Sep 16, 2012
@chrisprice

It was the former, I had just being reviewing some code and it stood out to me as a good candidate for a warning. a.b.call(a) suggests to me that the author has not fully understood when it is appropriate to use call.

I suppose the same check should also be applied for -

a.b.apply(a, [c...]) equivalent to a.b(c...)
a.b.apply(a) equivalent to a.b()
a.b.call(a, c...) equivalent to a.b(c...)
a.b.call(a) equivalent to a.b()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment