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

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -