📅  最后修改于: 2023-12-03 15:13:23.917000             🧑  作者: Mango
Angular和AngularJS都是由Google开发的JavaScript框架。
AngularJS是Angular的前身,是一款传统型的MVC(Model-View-Controller)框架。而Angular则是一个完全重写的框架,采用了现代型的架构模式,尤其是采用了强类型语言TypeScript开发。
AngularJS的架构分为MVC三个部分:
而Angular则采用了现代化的架构,采用了三层架构模式:
AngularJS使用脏检测来实现双向数据绑定,当数据发生变化时,所有相关的视图都会自动更新。
而Angular则采用了更加高效的变更检测机制,它只会跟踪变化过的地方来更新数据和视图。
AngularJS采用了全局依赖注入的方式,所有的服务、控制器、指令等都滥用全局命名空间,容易引发变量名冲突,还会降低可维护性和可测试性。
而Angular则采用了分层注入的方式,每个模块/组件都有自己的依赖注入器,各个注入器相互独立,避免了命名冲突和依赖污染,同时提高了应用的可测试性和可维护性。
Angular使用TypeScript开发而成,TypeScript是一种由微软开发的开源编程语言。 它是JavaScript的一个超集,为JavaScript添加了可选的静态类型和箭头函数等语言特性,大大提高了代码的可读性、可维护性,还可以让你在编写代码的同时发现潜在的错误。
而AngularJS内置的是JavaScript,缺乏类型检测和潜在的错误信息,会影响项目的开发和维护。
Angular和AngularJS的区别主要在于架构模式、双向绑定、依赖注入和TypeScript支持等方面。Angular更加符合现代化应用的开发,提供了更丰富、更高效的组件和服务,适合开发大型企业级应用。