printという関数が定義済みのため(予約語なのか?)
以下のように変更します。
Number((document.querySelector("#text1")).value)
の部分についてはこちらと同じ理由です。
function prt(n:number,f:(number)=>number):string{
var re:number = f(n);
return '<p>結果:' + re + '</p>';
}
function doClick():void {
let val:number = Number((<HTMLInputElement>document.querySelector("#text1")).value) * 1;
let msg:Element = document.querySelector("#msg");
let a:(nubmer)=>number = (n:number) => n * n;
let b:(number)=>number = (n:number)=>{
let total:number = 0;
for(let i:number = 1;i <= n;i++){
total += i;
}
return total;
};
msg.innerHTML = prt(val,b);
}