AngularJS is a JavaScript framework that extends HTML with directives to bind data to HTML and enable two-way data binding. It can be added to an HTML page with a script tag. AngularJS uses directives like ng-app, ng-model, and ng-bind to define AngularJS applications and bind application data to HTML views. Expressions written with double curly braces {{expression}} output data in the HTML. Modules, controllers, and scopes manage application logic and data.