この行が評価されると、エラーが明らかになります。
color && el.style.color = color;
どうしたの?DOM レベル 2 のプロパティは「読み取り専用」になりましたか?
この行が評価されると、エラーが明らかになります。
color && el.style.color = color;
どうしたの?DOM レベル 2 のプロパティは「読み取り専用」になりましたか?
問題は優先順位です。親が必要です。
function log(msg, color) {
var el = document.createElement('p');
el.innerText = msg;
document.getElementById('log').appendChild(el);
color && (el.style.color = color);
}
&&
はよりも優先順位が高い=
ため、括弧がないと、式に割り当てようとすることになります(たとえば、効果的に読み取ります(color && el.style.color) = color;
)。もちろん、これはできません。
Mark Linusに同意しますが、コードを次のように書き直すこともできます。
color && (el.style.color = color)