angular 是基于 typescript 的 前端 框架,非 javaScript 子集;具备组件化、模块化(NgModule)、依赖注入、Rxjs 响应式流、强类型等特性;与 AngularJS 不兼容;适合中大型企业级应用。

Angular 不是 javascript 的一个“子集”或“语法糖”,而是一个由 google 主导开发的、基于 TypeScript 的 前端 Web 应用框架。它不是 JavaScript 语言本身的一部分,而是构建在 JavaScript(更准确说是 TypeScript)之上的完整开发平台。
核心特点
组件化 架构
整个应用由一个个独立 封装 的组件构成。每个组件包含自己的 html 模板、css 样式和 TypeScript 逻辑,支持复用、嵌套和清晰的职责划分。
模块化组织(NgModule)
用 @NgModule 装饰器把组件、指令、管道、服务等归类打包。模块之间可以显式声明依赖关系,避免全局污染,也便于按需加载(比如 懒加载 路由模块)。
依赖注入(DI)系统
服务(Service)不用手动 new,只要在 构造函数 中声明类型,Angular 就会自动创建并传入实例。注入层级可配置(root 级、模块级、组件级),天然支持测试替身(mock)。
立即学习“Java 免费学习笔记(深入)”;
响应式数据流(RxJS 驱动)
http 请求、表单输入、路由 事件 等都被建模为 Observable 流。配合 pipe 操作符(如 map、Filter、switchMap),能优雅处理 异步、取消、节流等复杂场景。
强类型与开发体验
默认使用 TypeScript,编译期就能发现属性名错误、类型不匹配、未定义方法等问题。ide 自动补全、跳转、重构 都更可靠,大型项目维护成本明显降低。
区别于 AngularJS(1.x)的关键点
Angular(2+)是完全重写的框架,和旧版 AngularJS 没有代码兼容性:
- 不再用 $scope 和脏检查($digest cycle),改用基于 Zone.js 的变更检测机制,性能更可控
- 模板语法更统一:用 *ngIf、*ngFor 替代 ng-show/ng-repeat;事件绑定用 (click) 而非 ng-click
- 路由、表单、HTTP 客户端全部内置为独立模块(@angular/router、@angular/forms、@angular/common/http)
- 支持服务端渲染(SSR)、Web Workers、PWA 等现代能力,开箱即用
适合做什么
它特别适合中大型企业级应用,尤其是需要长期迭代、多人协作、强可维护性和严格测试覆盖的项目。比如后台管理系统、SaaS 平台、金融交易界面等。
不适合做极轻量页面、高频 dom 动画游戏、或只需要几行 JS 增强的静态站点——那种场景用原生 JS 或 jquery 更直接。
基本上就这些。
以上就是