TypeScript - Inline function not getting checked for type safety -
i new typescript , trying few things
where function demands number parameter , bool return value.
function where(items: number[], filter: (item: number) => bool) { (var counter = 0; counter < items.length; counter++) { var item = items[counter]; if (filter(item)) { console.log(item); } } } var data = [1, 2, 3, 4]; case 1 - typescript gives compile error
var evenfilter = function (item: number) { //actual line item % 2 == 0; return item; } where(data, evenfilter); case 2 - inline function incorrect return type not generate compile time error
where(data, function(item : number){ return item; }); case 3 - short hand syntax not generate compile time error
where(data, item => item); is bug typescript or expected behavior?
definitely bug. apparently anonymous functions not type checked. functions assigned variables / named functions are. can open bug report here: https://typescript.codeplex.com/workitem/list/basic
i searched through repository , not find similar bug report.
just me rambling perhaps type not inferred unless assign variable or name function. assignment should take place when invoking function (as assigning parameter value) type inference not kicking in bit.
Comments
Post a Comment