随笔分类 - es6
摘要:拼音排序: var array = ['武汉','北京','beijing','上海','六安','妈妈','天津','wj','务必','武警','午安','魅族','没了','没有','小米','乐视']; var resultArray = array.sort((a,b)=>{ return
阅读全文
摘要:Unicode 相关方法暂略 1、includes(), startsWith(), endsWith() 传统上,JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6 又提供了三种新方法。 includes():返回布尔值,表示是否找到了参数字符串。
阅读全文
摘要:模板字符串 用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。 模板字符串中嵌入变量,需要将变量名写在${}之中。 大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。 模板字符串之中还能调用函数。 模板字符串甚至还能
阅读全文
摘要:1、数组的解构赋值 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能直接指定值。 ES6 允许写成下面这样。 本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。 下面是
阅读全文
摘要:let命令 基本用法 ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。 for循环的计数器,就很合适使用let命令。 用ES5如何正确实现?(梁涛注) 不存在变量提升 var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为u
阅读全文
摘要:概述 在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库)。 ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。 ES6 的模块化分为导出(export) @与导入(i
阅读全文
摘要:async async 是 ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的。 语法 async function name([param[, param[, ... param]]]) { statements } name: 函数名称。 param:
阅读全文
摘要:ES6 新引入了 Generator 函数,可以通过 yield 关键字,把函数的执行流挂起,为改变执行流程提供了可能,从而为异步编程提供解决方案。 基本用法 Generator 函数组成 Generator 有两个区分于普通函数的部分: 一是在 function 后面,函数名之前有个 * ; 函数
阅读全文
摘要:概述 在JavaScript的世界中,所有代码都是单线程执行的。 由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。 AJAX就是典型的异步操作。 把回调函数success(request.responseText)和fail(request.status)写到
阅读全文
摘要:ES5中遍历集合通常都是 for循环,数组还有 forEach 方法,对象就是 for-in, var mycars = {a:2,b:3,c:4} for(var key in mycars) { key;//a b c mycars[key]; //2 3 4 } ES6 中又添加了 Map 和
阅读全文
摘要:概述 Reflect 是 ES6 为了操作对象引入的 API 。 Reflect 可以用于获取目标对象的行为,它与 Object 类似,它的方法与 Proxy 是对应的。 基本用法: 1、Reflect.get(target, name, receiver) 查找并返回 target 对象的 nam
阅读全文
摘要:概述 Proxy代理 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式。 基本用法 Proxy代理 一个 Proxy 对象由两个部分组成: target 、 handler 。在通过 Proxy 构造函数生成实例对象时,需要提供这两个参数。 targe
阅读全文
摘要:Map 对象 Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值:字符串、对象、函数、NaN 1、set() 方法为Map对象添加一个指定键(key)和值(value)的新元素。返回
阅读全文
摘要:ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值,最大的用法是用来定义对象的唯一属性名。 基本用法 使用场景 1、作为属性名 Symbol类型的key是不能通过Object.keys()或者for...in来枚举的,它未被包含在对象自身的属性名集合(property names)
阅读全文
摘要:箭头函数和普通函数的区别 1、箭头函数是匿名函数,不能作为构造函数,不能使用new 2、箭头函数不绑定arguments,取而代之用rest参数...解决 3、箭头函数不绑定this,会捕获其所在的上下文的this值,作为自己的this值 4、箭头函数没有原型属性 5、箭头函数通过 call() 或
阅读全文