我是打字稿的新手,尝试了一些事情
其中函数需要数字参数和布尔值作为返回值。
function where(items: number[], filter: (item: number) => bool) {
for (var counter = 0; counter < items.length; counter++) {
var item = items[counter];
if (filter(item)) {
console.log(item);
}
}
}
var data = [1, 2, 3, 4];
案例 1 - TypeScript 给出编译错误
var evenFilter = function (item: number) {
//actual line is item % 2 == 0;
return item;
}
where(data, evenFilter);
案例 2 - 返回类型不正确的内联函数不会产生编译时错误
where(data, function(item : number){
return item;
});
案例 3 - 即使是简写语法也不会产生编译时错误
where(data, item => item);
这是 TypeScript 的错误还是预期的行为?