![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6学习
铁枪王彦章
这个作者很懒,什么都没留下…
展开
-
ES6学习-Set和Map数据结构
说明:本文参考阮一峰的ECMAScript 6 入门Set和Map数据结构1.SetES6新增的Set数据结构,类似数组,但成员的值都是唯一的,没有重复的值。const set = new Set();[2, 3, 4, 3, 5, 3, 2, 6].forEach( x => set.add(x))for (let i of set) { console.log(i)}/...原创 2019-05-19 09:31:41 · 241 阅读 · 0 评论 -
ES6学习-super关键字
说明:本文参考阮一峰的ECMAScript 6 入门super关键字我们知道,this关键字总是指向函数所在的当前对象。ES6又新增了一个super关键字,指向当前对象的原型对象。const proto= { foo: 'hello'}const obj = { foo: 'world', //ES6方法的简写形式 find(){ return super.foo }}...原创 2019-05-18 16:25:11 · 546 阅读 · 0 评论 -
ES6学习-扩展运算符
数组的扩展说明:本文参考阮一峰的ECMAScript 6 入门1.扩展运算符扩展运算符是三个点(…)。就好比rest参数的逆运算,将一个数组转化为用逗号分隔的参数序列。console.log(...[1, 2, 3])//1 2 3console.log(1, ...[2, 3, 4])//1 2 3 4该运算符主要用于函数调用。function push(array, ......原创 2019-05-18 14:54:43 · 133 阅读 · 0 评论 -
ES6学习-函数的扩展
1.函数参数的默认值function add(x = 1, y = 2 ){ return x + y}add() //3与结构赋值默认值结合使用function foo({x, y = 5}) { console.log(x, y);}foo({}) // undefined 5foo({x: 1}) // 1 5foo({x: 1, y: 2}) // 1 2fo...原创 2019-05-18 10:32:33 · 113 阅读 · 0 评论 -
ES6学习-module
说明:本文参考阮一峰的ECMAScript 6 入门1.概述在ES6之前,JavaScript没有模块体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其它语言都有这项功能,比如Ruby的require、Java的import,甚至连CSS都有@import,但是JavaScript没有任何这方面的支持,这对开发大型的、复杂的项目形成了障碍。ES6模块的设计思想是尽可能的...原创 2019-05-22 17:26:46 · 174 阅读 · 0 评论 -
ES6学习-Class和Class的继承
说明:本文参考阮一峰的ECMAScript 6 入门1.Class类的由来JavaScript语言中,生成实例对象的传统方法是通过构造函数。function Person (name, age) { this.name = name this.age = age}Person.prototype.toString = function () { return `${name},$...原创 2019-05-22 17:25:17 · 337 阅读 · 0 评论 -
ES6学习-Generator函数的语法
说明:本文参考阮一峰的ECMAScript 6 入门1.简介基本概念Generator函数是ES6提供的一种异步编程解决方案。语法行为与传统函数完全不同。在语法上,可以把Generator函数理解为一个状态机,封装了多个内部状态。执行Generator函数会返回一个遍历器对象,可以依次遍历Generator函数内部的每一个状态。形式上,Generator函数是一个普通函数,但是有两个特...原创 2019-05-22 17:23:24 · 132 阅读 · 0 评论 -
ES6学习-Iterator和for...of循环
说明:本文参考阮一峰的ECMAScript 6 入门1.Iterator(遍历器)的概念JavaScript原有的表示‘集合’的数据结构,主要是数组和对象,ES6又添加了Set和Map。这样就有四种数据结构,这些数据结构还可以组合在一起,例如数组的成员是Map,Map的成员是对象。这就需要一个统一的接口机制,来处理所有不同的数据结构。Iterator(遍历器)就是这样的一种机制。它是一种接口...原创 2019-05-22 17:22:13 · 258 阅读 · 0 评论 -
ES6学习-字符串的新增方法
说明:本文参考阮一峰的ECMAScript 6 入门1.String.fromCodePoint()ES5提供的String.fromCharCode()方法,用于从Unicode码点返回对应的字符,但是这个字符不能正确识别码点大于0xFFFF的字符。String.fromCharCode(0x20BB7)//"ஷ"上面代码中,码点0x20BB7大于0xFFFF,String.from...原创 2019-05-17 15:36:37 · 531 阅读 · 0 评论 -
ES6学习-字符串的扩展
说明:本文参考阮一峰的ECMAScript 6 入门概要:字符串的Unicode表示法\uxxxx,超出范围\u{xxxx};字符串for…of遍历器,可识别超出\uFFFF的码点;反引号表示的模板字符串(``),${}嵌入变量。1.字符串的Unicode表示法ES6加强了对Unicode的支持,允许采用\uxxxx的形式表示一个字符,其中xxxx表示字符的Unicode码点。"...原创 2019-05-17 10:06:38 · 235 阅读 · 0 评论 -
ES6学习-变量的解构赋值
说明:本文参考阮一峰的ECMAScript 6 入门变量的解构赋值1.数组的解构赋值基本用法ES6允许按照一定模式,从数组和对象中提取值为变量赋值,这被称为解构。就好像是把数组或对象里的值一个个分解出来构成单独的变量值(便于理解,我就这么从字面意思强行解释吧)。以前为变量赋值,只能直接指定值let a = 1let b = 2let c = 3ES6允许写成下面形式let [...原创 2019-05-16 11:59:43 · 134 阅读 · 0 评论 -
ES6学习-let和const命令
1.let命令作用:let声明的变量只在其所在代码块内有效{ let a = 10}console.log(a )代码块外使用会报错: ReferenceError: a is not definedfor循环内使用let和var产生的不同效果:下面代码使用的是var,结果为10var a = []for (var i = 0; i < 10; i++) { a[i]...原创 2019-05-15 17:32:28 · 345 阅读 · 0 评论 -
ES6学习-Promise
说明:本文参考阮一峰的ECMAScript 6 入门1.Promise的含义Promise是异步编程的一种解决方案。简单来说,就是一个容器,里面装着未来才会结束的事件(通常是一个异步操作)结果。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)、rejected(已失败)。这三种状态只能由异步操作的结果决定,其它任何操作都不能改变这种状态,...原创 2019-05-20 14:59:46 · 119 阅读 · 0 评论 -
ES6学习-Symbol
SymbolES6新增了一种原始数据类型Symbol,表示独一无二的值,用来防止属性名的冲突。let s = Symbol()typeof s //"symbol"上面的代码,表明s是一个独一无二的值。typeof的结果是symbol,表明s是Symbol数据类型,而不是其他数据类型。注意:Symbol函数前不能使用new命令,因为它返回的是一个原始数据类型,而不是一个对象。因此也不能...原创 2019-05-18 17:06:51 · 150 阅读 · 0 评论