Czytałem Gdzie przydatne są ósemki? i wygląda na to, że ósemki były kiedyś użyteczne.
Wiele języków traktuje liczby poprzedzające 0 jako liczbę ósemkową, więc literał 010to w rzeczywistości 8. Kilka z nich to JavaScript, Python (2.7) i Ruby.
Ale tak naprawdę nie rozumiem, dlaczego te języki wymagają liczby ósemkowej, zwłaszcza gdy bardziej prawdopodobne jest, że użycie notacji będzie oznaczać liczbę dziesiętną z zbędnym 0.
JavaScript jest językiem po stronie klienta, ósemkowy wydaje się dość bezużyteczny. Wszystkie trzy są całkiem nowoczesne w innym znaczeniu i nie sądzę, że byłoby dużo kodu używającego notacji ósemkowej, który zostałby zepsuty przez usunięcie tej „funkcji”.
Tak więc moje pytania to:
- Czy jest jakiś sens tych języków obsługujących literały ósemkowe?
- Jeśli konieczne jest użycie literału ósemkowego, dlaczego nie użyć czegoś takiego
0o10? Po co kopiować starą notację, która zastępuje bardziej użyteczny przypadek użycia?
chmodpoprawności pliku Unix: z 0666 lub 0777 dla grup 3 bitów dla użytkownika, grupy i innych: odczyt, zapis, plik wykonywalny.
parseInt('010')rzeczywiście zwróciło 8, stąd wszystkie porady, których należy zawsze używać parseInt(foo, 10)(i nadal jest to dla mnie nawyk)