Visual Studio 2012 で typescript 0.9.0.1 を使用しています。コードで三項演算子を使用すると、コンパイラがエラーをスローします:条件式の型を特定できません。void
と の間に最適な共通タイプが見つかりませんでしboolean
た。
コードは次のとおりです。
export class event
{
public static add (elem: HTMLElement, ev: string, fn: (ev: Event) => void, thisObj?)
{
var callFn = function (ev: Event) { fn.call(thisObj || elem, ev); };
elem.addEventListener ? elem.addEventListener(ev, callFn, false) : elem.attachEvent('on' + ev, callFn);
}
}
三項演算子の代わりに if-else を使用しようとしています。その後、エラーは発生しません。
コードは次のとおりです。
export class event
{
public static add (elem: HTMLElement, ev: string, fn: (ev: Event) => void, thisObj?)
{
var callFn = function (ev: Event) { fn.call(thisObj || elem, ev); };
if (elem.addEventListener)
{
elem.addEventListener(ev, callFn, false);
}
else
{
elem.attachEvent('on' + ev, callFn);
}
}
}
私のコードに何か問題がありますか?