![](https://img-blog.csdnimg.cn/20191016144729940.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
ES6
燃情雪
证明我不懒,哼!
展开
-
let和const命令----ES6重刷01
介绍01,它是一种由ECMA组织(前身为欧洲计算机制造商协会)制定和发布的脚本语言规范02,而我们学的Javascript是ECMA的实现,但术语ECMAScript和Javascipt平时表达的是同一个意思03,JS包含三部分:1),ECMAScript(核心)2),扩展==》浏览器端BOM(浏览器对象模型)DOM(文档对象模型)3),扩展==》浏览器端Node04,ES的几...原创 2019-04-20 16:12:33 · 178 阅读 · 0 评论 -
变量的解构----ES6重刷02
解构赋值01,理解从对象或数组中提取数据,并赋值给变量【多个】02,对象/数组的解构 | 赋值let{a, b} = {a: value1, b: value2}let[a, b] = [value1, value2, value3]03,基本用法 //对象也可以是Number/String //允许默认值 let obj1 = { username: "然情雪",...原创 2019-04-21 14:13:12 · 169 阅读 · 0 评论 -
字符串扩展----ES6重刷03
1、字符串遍历接口iterator,所以可以利用for …of循环遍历【注:只有存在interator的数据结构才能使用for …of循环遍历,否则报错no interator】const string = 'burningSnow' for (let item of string) { console.log(item) }2、字符串模板示例: ksnask?...原创 2019-10-05 10:52:37 · 122 阅读 · 0 评论 -
字符串新增方法----ES6重刷04
1、String.prototype.includes(string)返回布尔值,表示是否找到了参数字符串。2、String.prototype.startsWith(string)返回布尔值,表示参数字符串是否在原字符串的头部。3、String.prototype.endsWith(string)返回布尔值,表示参数字符串是否在原字符串的尾部。4、String.prototype.i...原创 2019-10-05 11:42:04 · 198 阅读 · 0 评论 -
关于正则的二次理解
正则在我个人的理解上就是利用文本模式提取其模式对应的字符串,关于文本模式【而不是正则尾部的修饰符】的组成,个人理解就是由原义字符,特殊字符,转义字符,量词,大括号子表达式缓冲区一个一个子模式组成。关于正则中的特殊字符,修饰符,量词的具体描述就不在这累述了,可以参考菜鸟教程上,一步一步慢慢看就会懂,在这里我就写下我今天重新看正则及验证的一些感悟感悟1、尾部的标识符的先后顺序无影响如: /gy...原创 2019-10-05 20:39:46 · 247 阅读 · 0 评论 -
正则的扩展----ES6重刷05
在此之前,这里是我对正则的二次理解,虽记录随意,但句句都经本人code验证。在此对ES6此书的正则的扩展,还未全面理解,虽说是二刷,但在第八小点dotAll模式之后便不甚理解,待之后境界进一步提升之后,再摸索摸索。1、RegExp构造函数此小点本人理解为主要讲的是ES6对ES5的容错兼容处理【在此引用例子便借于书上】ES5时的RegExp的构造函数var regex = new RegE...原创 2019-10-07 16:50:30 · 194 阅读 · 0 评论 -
数值的扩展----ES6重刷06
在此我只给出api文档地址,因为考虑到方法api不是靠死记的,而是知道有这个东西后,用着用着就记住了的【个人理解】。Number实例方法Math实例方法原创 2019-10-07 18:57:56 · 76 阅读 · 0 评论 -
函数的扩展----ES6重刷07
关于ES6中的函数的扩展,我会分六点一,结合解构赋值,函数参数的改变及默认值分配1,普通默认初始化 function test (x = 'x', y = 'y') { console.log('x', x) // x console.log('y', y) // y } test()2、结合解构赋值,参数初始化 function test ({...原创 2019-10-08 13:57:25 · 98 阅读 · 0 评论 -
数组的扩展----ES6重刷08
在此我会着重讲扩展运算符【三点运算符】,结合对于数组的一些便捷操作及深拷贝;其次讲讲Array实例的某些新的方法及注意事项【略带Iterator接口个返回值为Iterator遍历器对象的genrator函数function *() {}】;最后讲讲哪些数据结构存在内置部署的Iterator接口,而对于没有内置部署的Iterator接口的数据结构,怎末进行自定义的Iterator接口部署。一、扩张...原创 2019-10-08 20:13:38 · 130 阅读 · 0 评论 -
对象的扩展----ES6重刷09
对象扩展一、属性简洁表示const a = 'a'const b = () => 'b'const obj = {a, b}console.log(obj) // {a: "a", b: ƒ}二、属性名表达式let obj = {}const variable = 'b'obj.a = 'a'obj[variable] = 'b'console.log(obj) //...原创 2019-10-09 14:51:28 · 161 阅读 · 0 评论 -
对象的新增方法----ES6重刷10
在这里我会写些自己认为ES6此书中常用的对象方法及注意事项一、Object.assign(target, source)作用:将所有可枚举属性的值从一个或多个源对象【source】复制到目标对象【target】。target:可以是对象也可以是数组source:可以是对象、数组、字符串【允许多个】基本用法const obj1 = { a: 'a',}const obj2 = {...原创 2019-10-09 20:58:51 · 157 阅读 · 0 评论 -
Symbol基本数据类型----ES6重刷11
在ES6中除了以前的六种数据类型【基本数据类型:Undefined、Null、Number、String、Boolean,引用数据类型:Object】,新增了一种基本数据类型Symbol,在此我就谈谈它的某些本人认知到的特点。一、独一无二性引入这个基本数据类型的初衷就是因为它的独一无二的特性,这将会解决潜在的问题,关于命名的冲突问题,比如给一个为外在资源中的一个对象进行添加属性,这就可以利用S...原创 2019-10-10 11:13:01 · 107 阅读 · 0 评论 -
Set和Map数据结构----ES6重刷12
关于拥有Iterator接口的两种数据结构Set和Map,它们其实有很多相似的地方,这就是为什么ES6此书将两者整合为一章节进行讲解。并且两者对于实际开发,在对数据处理的过程中,确实存在比较实用的几点。Set特点一、接收拥有Iterator接口数据结构体作为参数,初始化Setconst arr = [1, 2, 3, 3, 4, 4]const str = 'burnurn'const ...原创 2019-10-13 11:02:00 · 83 阅读 · 0 评论 -
Proxy(对象代理)----ES6重刷13
在此暴骂六个月之前的我,对象代理这好的东西居然不用。。。。。。。。一、咱就先聊聊对象代理Proxy的作用为何称作为代理呢?那就说明我们可以自定义设置对象某些命令执行的原生方法,比如当我们没有为对象套一层代理,执行objectName.attr时,就会默认执行对象原生方法函数get();然而当我们在对象声明时套层代理时,那就说明我们不会直接通过对象某些执行命令的原生方法来操作对象,而是先检测代理...原创 2019-10-13 19:12:08 · 534 阅读 · 0 评论 -
Reflect(操作对象方法另外一种形式)----ES6重刷14
在ES6推出之前,对对象的操作的是命令式行为,比如为对象增加属性并赋值objectName[attrName] = value,现在ES6推出一种全局对象Reflect,使对对象的操作函数行为化,比如为对象增加属性并赋值Reflect.set(objectName, attrName, value)Reflect一、出现的主要意义经过ES6书中解释及个人实践,本人认为,Reflect全局对象...原创 2019-10-13 19:50:55 · 315 阅读 · 0 评论 -
Promise对象----ES6重刷15
以前理解为仅仅是一种请求的另类实现,.then()、.catch()函数也就简单认为是对请求数据的处理。现在想来,大错特错,首先它不管你的请求是如何实现的,它是一个容器,来封装你的异步请求操作,并且将你的成功/失败后的回调函数提炼到了外部,不仅解决了回调地狱问题,还大大提高了可读性、可维护性。 ---------致当初粗鄙的我(燃情雪)一、Promise对象的含义1【简而说之】:它是个容器,...原创 2019-10-14 20:45:13 · 172 阅读 · 0 评论 -
Iterator和for..of循环----ES6重刷16
概念遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制【使用for...of自动检索是否具备iterator接口,若没有则返回错误不可遍历uniterable,若检索具备iterator接口,则自动调用其内部的next()函数,且next()返回值则是一个指针对象】工作原理创建一个指针对象(遍历器对象),指向数据结构的起始位置。第一次调用nex...原创 2019-04-23 15:09:38 · 176 阅读 · 0 评论 -
Generator函数的语法----ES6重刷17
关于Generator函数,说实话还是不彻底的明白其意义以及相应的某些应用场景,在此只是针对目前个人境界理解程度,对其进行一次重新的记录。一、基本概念关于Generator函数,我就利用ES6此书上的比喻来形容。Generator它是一个状态机,其内部封装了很多很多待处理的状态(yiled code...【待处理状态之一】),它有三个功能键,分别是.next()【开始处理下一个待处理状态】、...原创 2019-10-16 13:52:53 · 158 阅读 · 0 评论 -
Generator函数的异步应用----ES6重刷18
这篇可能会挺短的,因为我不会讲Thunk函数、co模块,因为我对二者很不熟悉,也不敢乱说,也没什么感悟,所以我会记录下异步相关的基本概念和我本人对Generator在异步应用上的作用。一、基本概念我们知道Javascript语言的执行环境是单线程的,所以异步操作势在必行,不然就无法运行,卡死不可。1、异步所谓异步就是将任务分成两块,资源按需分配。比如我们有一个删除人员的功能按钮,当我们点击...原创 2019-10-16 16:25:36 · 99 阅读 · 0 评论 -
async函数----ES6重刷19
在上一篇博文中说到的Generator函数,虽然其配合Promise对象封装了异步操作,相比单纯的使用Promise简洁明了了,也大大增强了可维护性和可读性,但是有没有觉得它的一个特点比较的low,那就是需要手动操作执行异步操作.next(),为此ES6又新推出一个函数,async函数,简单一句话来说就是Generator函数的语法糖。基础示例代码const fetch = url =>...原创 2019-10-16 21:53:14 · 94 阅读 · 0 评论 -
Class的基本用法----ES6重刷20
在这里我会根据阮老师ES6书中的介绍走。一、类的由来。// ES5做法【在原型链上直接操控,没有很明显的语义化,不便于可读性和操作性及可维护性】const Person = function () { this.mouse = 'mouse', this.eyes = 'eyes'}Object.assign(Person.prototype, { getEyes() { ...原创 2019-10-19 16:11:11 · 270 阅读 · 0 评论 -
Class的继承----ES6重刷21
关于Class继承方面的记录,我依旧会按照阮老师在ES6书中Class的继承这一章节的目录,将自己的感想记录下来。一、简介先来欣赏下ES5和ES6实现继承的一般方法 // ES5做法【直接操控原型链实现继承,极其不灵活,还易错】 function Mankind() { this.mouse = 'mouse' this.eyes = 'eyes' ...原创 2019-10-19 19:35:04 · 96 阅读 · 0 评论 -
Module的语法----ES重刷22
关于ES6的模块引入我在这里就简单的说明下首先得说明下一个js文件模块的导出命令export一般只设置一个,如果只有一个就用export default 多个就使用对象封装export { ...args }一、多个参数导出和接收const first = 'first'const second = 'second'const third = 'third'export { fir...原创 2019-10-19 21:04:09 · 90 阅读 · 0 评论