Angular

AngularJS (https://angularjs.org) (version 1.x) is a client-side MVVM framework, maintained by Google, which helps to develop Single Page Applications (SPA). It is based on a declarative programming model and it extends standard HTML with the ability to add additional behavior, elements, and attributes through directives. 

Angular (https://angular.io)(version 2 and above) is a complete rewrite of the framework and hence is not backward compatible with AngularJS. Angular is written in TypeScript and recommends the use of TypeScript to write Angular applications as well. Angular removed some of the concepts that were used in AngularJS such as scope, controller, factory, and so on. It also has a different syntax for binding attributes and events. Another major difference is that the Angular library is modular and hence you can choose the modules that you need, to reduce bundle size. Angular also introduced advanced concepts such as AOT (Ahead of Time Compilation), lazy loading, reactive programming, and so on.

TypeScript is a superset of ECMAScript 6 (ES6 - version 6 of JavaScript) and is backward compatible with ES5. It has additional features such as static typing, generics, class attribute visibility modifiers, and so on. Since TypeScript is a superset of ES6, we can also use ES6 features (http://es6-features.org) such as modules, lambdas (arrow functions), generators, iterators, string templates, reflection, spread operators, and so on.