AngularJS is a JavaScript framework for building browser-based applications that uses a Model-View-Controller pattern. It allows defining custom tags in HTML and uses two-way data binding between models and views. AngularJS applications are cross-browser compliant and use less code than traditional JavaScript apps due to features like dependency injection and built-in services. The framework encapsulates portions of a page into single pages and makes applications easier to test, develop, and maintain.