ES5和ES6的区别
首先JavaScript是由三部分组成:
- ECMAScript(核心):规定了语言的组成部分=>语法、类型、语句、关键字、保留字、操作符、对象
- BOM(浏览器对象): 支持访问和操作浏览器窗口,可以控制浏览器显示页面以外的部分
- DOM(文档对象模型): 把整个页面映射为一个多层节点结果,可借助DOM提供的API,可删除、添加和修改任何节点
然后谈ES5的特性:
1.strict模式:严格模式,限制一些用法
2.Array增加方法:有every、some、forEach、filter、indexOf、lastIndexOf、isArray、map、reduce、reduceRight方法
3.Object方法: Object.getPrototypeOf、Object.create等方法
其次是ES6的特性:
- 块级作用域 => 关键字let,常量const
- 对象字面量的属性赋值简写
- 赋值解构
- 展开运算符
- 箭头函数
- 字符串模板
- for of
- Class类,有constructor、extends、super,本质上是语法糖
- Map + Set + WeakMap + WeakSet
- proxies:使用代理(Proxy)监听对象的操作
- Symbol: 唯一命名
- Promises:处理异步操作的对象,使用了Promise对象之后可以用一种链式调用的方式来组织代码
最后是ES5和ES6的区别:
1.系统库的引入
Es5:需要先使用require导入React包,成为对象,再去进行真正引用;
Es6:可以使用import方法来直接实现系统库引用,不需要额外制作一个类库对象
2.导出及引用单个类
Es5:要导出一个类给别的模块用,一般通过module.exports来实现。引用时,则依然通过 require方法来获取;
Es6:可以使用用export default来实现相同的功能,使用import方法来实现导入
3.定义组件
ES5:组件类的定义可以通过React.createClass实现
ES6:让组件类去继承React.Component类就可以了
4.组件内部定义方法
Es5:采用的是 ###:function()的形式,方法大括号末尾需要添加逗号;
Es6:省略了【: function】这一段,并且结尾不需要加逗号来实现分隔。
5.定义组件的属性类型和默认属性
Es5:属性类型和默认属性分别通过propTypes成员和getDefaultProps方法来实现(这两个方法应该是固定名称的);
Es6:统一使用static成员来实现。
6.初始化STATE
Es5:初始化state的方法是固定的getInitialState;
Es6:第一种,直接构造state函数;第二种,相当于OC中的方法重写,重写constructor方法
ES5和ES6的区别来源 => 作者:QING_0054 | 链接:https://www.jianshu.com/p/4da39c00701e
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!