Estranheza do operador ternário IE 8

Acabei de encontrar isso em um site do cliente onde eles estão usando navegadores mais antigos.

Temos um bloco de JavaScript que precisa buscar o texto de um elemento. Como “innerText” não funciona no Firefox, temos uma declaração como esta:

var someValue = $.browser.mozilla ? element.textContent.toLowerCase() : element.innerText.toLowerCase();

No Chrome, Firefox, Safari e IE 9+, tudo funciona conforme o esperado. O IE 8, entretanto, apresenta o erro de que toLowerCase () não está definido.

A solução?

var someValue;
if ($.browser.mozilla) {
someValue
= element.textContent.toLowerCase();
} else {
someValue
= element.innerText.toLowerCase();
}

O IE 8 aparentemente tenta analisar os dois lados do ternário antes de avaliar a verdade da condicional, causando esse pequeno problema.