Числа, начинающиеся с нуля, в JavaScript

1,00
р.
Набираю в консоли Google Chrome следующий пример (и получаю интересный результат):
for (num = 050 num <= 100 num = num + 1) { console.log(num) } <br>Печать почему-то начинается от 40. Если ввести вместо этого num = 50, то от 50. В чем разница этих значений для JavaScript, и почему цикл начинается с 40 в первом случае?

Ответ
Числа, начинающиеся с нуля, считаются восьмеричными, если в них нет цифр больше 7. Ссылка на справку
Грамматику можно посмотреть в спецификации: 11.8.3 Numeric Literals