网站首页 > 技术文章 正文
好程序员web前端分享ES6的基础教程,提起ES6大家都不太陌生,但是不知道怎么去使用下面小编带你走进ES6,现在ES8、ES9+都是在ES6的基础上更新的,所以我们要掌握ES8、ES9+必须把ES6给掌握好,说到这就有人提出疑问了?那直接学ES5不就行了嘛,但是,ES5和ES6的差距是很大的,话不多说,现在见真章。
ES5和ES6的区别
ES5作为ECMAScript第五个版本(第四版因为过于复杂废弃了),浏览器支持情况可看这副图
作为核心,它规的几个组成部分:语法、语句、关键字、保留字、操作符、对象、类型。
在使用ES5时严格模式使用'use strict'限制一些用法;数组Array的增加一些方法,比如大家都熟悉的forEach、filter 、indexOf、lastIndexOf、isArray、map等。
最重要的是ES5对象方法我一一的列举下来:
Object.getPrototypeOf
Object.create
Object.getOwnPropertyNames
Object.defineProperty
Object.getOwnPropertyDescriptor
Object.defineProperties
Object.keys
Object.preventExtensions / Object.isExtensible
Object.seal / Object.isSealed
Object.freeze / Object.isFrozen
PS:只讲有什么,不讲是什么。ES5就先写到这里,重点的来了。
1).ES5的这种语法写起来就比较麻烦了,ES6的好处就凸显出来了它使用对象字面量的属性赋值是非常的方便,举例:
var obj = {
// __proto__
__proto__: theProtoObj,
// Shorthand for ‘handler: handler’
handler,
// Method definitions
toString() {
// Super calls
return "d " + super.toString();
},
// Computed (dynamic) property names
[ 'prop_' + (() => 42)() ]: 42
};
2) .ES6的的块级作用域声明就比ES5的好多了
ES6增加了关键字let, 常量const这样的声明在块级作用域下减少了全局变量的污染。
然而ES6还有很多ES5用起来比较方便的方法1. 赋值解构 2. Class 3.箭头函数(ps 这里是重点)
1. 赋值解构
1.1数组的解构赋值
这个是解构赋值的方法,解构一般有三种情况,完全解构,不完全解构,解构不成功,在上述例子中存在完全解构和解构不成功的例子
2.2对象的解构赋值
对象的解构与数组有一个很重要的不同数组元素是依次排列的变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值
实际上 对象的解构赋值是以这样的形式简写的
也就是说,对象的解构赋值的内部机制,是先找到同名属性,然后再赋值给对应的变量,真正被赋值的是后者,而不是前者,第一个foo/bar 是匹配的模式,对应的foo/bar属性值才是变量,真正被赋值的是属性值(也就是第二个foo/bar), 如果不能理解再看下面这个例子
好了,解构赋值就说到这里下面介绍一下Class这个属性
2. Class
话不多说上代码,在这里我就给大家举一个实例属性的新方法实例属性除了定义在constructor()方法里面的this上面,也可以定义在类的最顶层。所有实例对象自身的属性都定义在类的头部,看上去比较整齐,一眼就能看出这个类有哪些实例属性。
Class这个属性就这么多属性,没有太多的说的,
3. 箭头函数--(只针对改造匿名函数)
(形参体列表)=> { 函数体代码 }
<1> 特点:
箭头函数,本质上就是一个匿名函数;
箭头函数的特性: 箭头函数内部的 this, 永远和箭头函数外部的 this 保持一致;
<2> 箭头函数的三个变体:
正规:去掉function、函数名:
var 函数名 = (参数1,…) => { }
函数名(参数1,…)----调用
如:var add = (x, y) => { return x+y }
add(1, 2)
ES6的介绍先到这里
猜你喜欢
- 2025-07-08 腾讯T8-2手写《前端面试与进阶指南》精简版,将知识点一网打尽!
- 2025-07-08 前端零代码丨UIOTOS批量生成可复用页:效率提升6倍!
- 2025-07-08 10W+TPS高并发场景【我的浏览记录】系统设计
- 2025-07-08 前端大佬都在用的usePagination究竟有多强?
- 2024-10-12 凭这份前端面试宝典,我拿到了字节、腾讯、阿里等六家大厂offer
- 2024-10-12 好程序员web前端分享History API技能详解
- 2024-10-12 新一代前端发展的困境与破局 前端发展路径
- 2024-10-12 好程序员web前端培训分享HTMLCSS学习笔记HTML5基础
- 2024-10-12 Rust 的风,终究还是吹到了前端 rust fd
- 2024-10-12 好程序员web前端教程分享Web前端学习路径
你 发表评论:
欢迎- 最近发表
-
- Druid 1.2.4 版本发布,增强对 JDK 8 的支持
- Python设计模式 第 1 章 Python 设计模式概述
- RAD Studio 、Delphi或C++Builder设计代码编译上线缩短开发时间
- Hive如何比较两张表所有字段的一致性
- Java 中 java.util.Date 与 java.sql.Date 有什么区别?
- 主流CDC工具_cd软件是做什么的
- 19.提取HFM数据进数据库_怎么提取数据库的信息
- 将Spring Boot应用部署到 Azure_springboot部署到windows
- 这样优化Spring Boot,启动速度快到飞起
- 什么是便携式应用程序,为什么它很重要?
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)