Closed
Description
openedon Jul 23, 2014
bind() returns type 'any' and does not type check it's arguments. e.g.
var add = function (a: number, b: number) { return a + b; };
var addString = add.bind(null, 'hello');
compiles without error and 'addString' has type any.
bind is a default way to achieve partial application so it would be great to have it typechecked properly.
Similarly for apply, the code
var listA = [1, 2, 3];
var listB = ['a', 'b', 'c'];
listA.push.apply(listA, listB);
compiles without error and listA is still incorrectly marked as type 'number[]'.
call() example:
var add5 = function (a: number) { return 5 + a; };
add5.call(null, 'a string');
Again without a compiler error.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment