摘要:
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')); 阅读全文
摘要:
es5中对象的属性名是都是字符串,容易造成重名;es6引入Symbol数据类型(已有Number 、 String 、 Boolean 、 Objec t、 null 和 undefined 类型); 特性: // 创建symbol属性值 let sb=Symbol(); console.log(s 阅读全文
摘要:
es6提供了三点运算符,用作于可变参数; function foo(...value){ console.log(value); value.forEach(function(item,index){ console.log(item,index); }); } foo(1,4); 还可以用于数组的 阅读全文
摘要:
es6箭头函数 es6推出了箭头函数,用来简化定义匿名函数; 基本语法: let func1=function(){ console.log('普通无参匿名函数'); } func1(); let func2=()=>console.log('箭头函数'); func2(); 执行效果一样: let 阅读全文
摘要:
es6 模版字符串主要用于简化字符串的拼接; 看个例子,es6以前的写法; 我们来看下实例;定义一个变量,搞两个属性,然后控制台输出; <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> 阅读全文
摘要:
es6对象简写 在es6中,假如 对象里的属性和属性值一样,可以简写,省略属性值;包括对象里的方法定义,也可以省略function; 我们看个实例: let username='java1234'; let pwd='123456'; let obj={ username:username, pwd 阅读全文
摘要:
es6结构赋值 具体点 解析结构,然后自动赋值,简化程序员代码编写; 我们搞个实例看看,平时主要用于对象解构,当然有时候也有数组的结构赋值; <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </hea 阅读全文