Visual Studio 2012에서 typescript 0.9.0.1을 사용하고 있습니다. 내 코드에서 3 진수 연산자를 사용할 때 컴파일러에서 오류가 발생합니다 : 조건부 표현식의 유형을 결정할 수 없습니다. 가장 일반적인 유형은 void
과 boolean
사이에 없습니다.3 진 연산자를 사용하는 동안 컴파일러 오류가 발생했습니다.
코드는 다음과 같습니다
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);
}
}
가 나는 경우 - 대신 다른 삼항 연산자의 사용하려고합니다. 그런 다음 오류가 발생하지 않습니다.
코드는 다음과 같습니다 내 코드에 뭔가 문제가
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);
}
}
}
있습니까?
+1 좋은 답변입니다. – Fenton
당신은 매우 도움이됩니다. 내 영어가 너무 좋지 않아 오류 메시지를 분명히 이해할 수 없습니다. 나는 삼항 연산자를 사용하면서 다른 타입의 값을 반환 할 수 있다는 것을 깨닫지 못했습니다. –
귀하의 질문에 나는 영어가 나쁘다고 말할 수 없었다 :) 내 실수와 도움이 기쁘다! – thomaux