Uaktualnianie projektów starszych niż ES10

0

Jak wiadomo mamy różne wersje JS. Aktualnie mamy ES10. Pytanie jednak co z projektami, które napisano ES5 lub ES6? Całość funkcjonuje wg zasady "póki działa nie ruszaj", czy też takie stare implementacje na bieżąco się uaktualnia? Albo czeka, aż coś się wysypie bo przeglądarka już nie obsługuje?

3

Unowocześnia się powoli. Czasem w jednym pliku są fragmenty nowe i stare.

No i wszyscy korzystamy z rozwiązań napisanych w "starym JavaScripcie". Wejdź sobie w parę popularnych projektów open source i poszukaj np. var, a zobaczysz, że zwykle znajdziesz jakieś pliki, które będą używały starego JSa

Np. przykład z Expressa: https://github.com/expressjs/express/blob/7ec5dd2b3c5e7379f68086dae72859f5573c8b9b/lib/router/route.js

widać, że jest to pisane w starym stylu:

  • mamy var zamiast let czy const

  • mamy tworzenie "klasy" Route za pomocą czegoś takiego: Route.prototype._handles_method = function _handles_method(method) { mimo, że klasy ES6 byłyby wygodniejsze

  • mamy zmienną arguments itp.

  • require i module.exports zamiast modułów z ES6

  • nie mamy wygodnych rzeczy z nowego JSa typu ..., destructuring, funkcji strzałkowych itp.

3

Największe różnice są pomiędzy wersjami ES5 <-> ES6, bo w pozostałych latach ES7 / ES8 / ES9 / ES10 zmiany były mniej "widowiskowe", które nie wpływają, aż tak na projekt.

4

Mam jeszcze masę projektów gdzie zamiast klas używam "function"... Może to już przestarzałe ale wciąż działa więc nie widzę powodu aby to aktualizować "dla zasady".
Nowe pisze się po nowemu i tyle.
JavaScript akurat pod względem kompatybilności wstecznej jest dość dobrym językiem i o ile nie używało się wymyślnych bibliotek to nawet kod sprzed 15 lat działa mi w serwisach bez problemów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1