IE で String.substr の引数に負数の指定が効かない

ゼロ埋めするために次のコードを書いたら Internet Explorer 8 以下ではうまくいかなかった。

var num = 12;
("0" + num).substr(-2); // IE8では "012"

このような場合は substr(start[, length]) を使わずに slice(begin[, end]) を使う。

var num = 12;
("0" + num).slice(-2); // "12"