摘要:
Generator函数是es6提供的解决异步编程的方案之一; Generator函数是一个状态机,内部封装了不同状态的数据; // generator定义 function后面跟个*号 function* myGenerator(){ console.log('业务逻辑A') yield 'hell 阅读全文
摘要:
es6 Promise 对象是异步编程的一种解决方案。(再javascript世界里,是单线程顺序执行的) 从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。 Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。 阅读全文
摘要:
概述 在 ES6 前, 实现模块化使用的是 RequireJS 或者 seaJS(分别是基于 AMD 规范的模块化库, 和基于 CMD 规范的模块化库)。 ES6 引入了模块化,其设计思想是在编译时就能确定模块的依赖关系,以及输入和输出的变量。 ES6 的模块化分为导出(export) @与导入(i 阅读全文
摘要:
在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。 class 的本质是 function。 它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法 类定义class 以及 构造方法 constructor // 通过class定义类 class 阅读全文
摘要:
// 操作数据方法 // arr.push() 从后面添加元素,返回值为添加完后的数组的长度 let arr = [1,2,3,4,5] console.log(arr.push(5)) // 6 console.log(arr) // [1,2,3,4,5,5] // 2 arr.pop() 从后 阅读全文
摘要:
/* Object.assign(target, source_1, ···) 用于将源对象的所有可枚举属性复制到目标对象中。 返回值是target对象 如果目标对象和源对象有同名属性,或者多个源对象有同名属性,则后面的属性会覆盖前面的属性。 */ let target = {a: 1}; let 阅读全文
摘要:
// Number常用方法 /* Number.isFinite() 用来检查一个数值是否为有限的(finite) 对于非数字,不会做隐式类型转换,直接返回false Number.isNaN() 用来检查一个值是否为NaN */ console.log( Number.isFinite(1)); 阅读全文
摘要:
// 子串识别 /* indexOf 查找字符串中是否包含指定字符串 查找第一次出现的位置,从0开始 includes():返回布尔值,判断是否找到参数字符串。 startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。 endsWith():返回布尔值,判断参数字符串是否在原字符串 阅读全文
摘要:
Proxy 与 Reflect 是 ES6 为了操作对象引入的 API 。 Proxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,在进行这些操作时,可以添加一些需要的额外操作。 Reflect 可以用于获取目标对象的 阅读全文
摘要:
// map基本使用 let map=new Map(); map.set('name','张三'); map.set('age',11); map.set('已婚',false); console.log(map.get('name')); console.log(map.get('age')); 阅读全文