There are quite a few difference. Although all these differences culminate in an Angular package which is better, the individual features and upgrades are quite many.
I will run through a few of the updates but first, let me start with Angular 2 and then slowly move up to the new features of Angular 5.
Angular 2 used to be the ultimate package for frontend web and mobile apps, data management, etc. the basic feature is that it is entirely component based. This means that controllers and $scope which were supported in the erstwhile version were no longer supported. However, Angular 2 had support for TypeScript.
Moving on to Angular 5.
In Angular 5, you will observe that the decorator DSL has been removed from Reflect. You have this singular update to thank for the improved performance of apps you enjoy.
Angular 5 now comprises addEventListener and this causes faster rendering while you’re working. It also boasts several enhancements on the abstract class methods.
Another amazing difference. Instead of the Reflective-injector, Angular 5 uses the Static-injector. In addition to this, the full response, logging, caching, error handling, and type-checking response all experienced a facelift.
Angular 5 now has updates on the ‘blur’ and ‘submit’ options in the form control. In addition, animations can now be disabled. You will also get access to router life cycle events like GuardCheckStart, GuardCheckEnd, ResolveStart, and ResolveEnd.
Again, Angularjs developers will observe that the HTTP-service was replaced by the HTTP-client and this is relatively easier for both testing purposes and usage.
In essence, there’s a real difference between both. You will most likely see an AngularJS development company working with Angular 5, however, this does not preclude the use of previous versions.