随笔分类 - ES6 内容
ES6 1-25节
摘要:要点:新增方法 一.新增方法 1.ES6提供了Object.is()方法来解决“ ”中一些恒等中的缺点 console.log(Object.is(100,'100')); //false 必须恒等 console.log(Object.is({},{})); //false 指向不同 consol
阅读全文
摘要:要点:1.Symbol类型 2.Symbol属性 一.Symbol类型 1.ES6之前基础数据类型:字符串、数组、布尔、对象、null、undefined; 2.ES6新增了一种叫做Symbol的基础数据类型,表示独一无二的值,类似id 3.创建Symbol通过函数Symbol()完整,可以传递参数
阅读全文
摘要:要点:1.浏览器加载 2.Node加载 一、ES6模块化 1.ES6支持模块化设计,也能其它后端语言一样使用导入导出的功能 2.先创建一个要被导入的模块module.js : export let name='Mr.Lee'; //导出这个变量 3.再创建一个普通的 .js 文件,比如24.js ,
阅读全文
摘要:要点:类的继承 一、类的继承 1.ES6也支持子类继承父类,使用 extends 关键字实现 class Person{ // 父类 } class Children extends Person{ // 子类继承 } 2.当子类继承了父类,实例化子类后,就可以直接拥有父类的构造、属性和方法 cla
阅读全文
摘要:要点:1.类class 2.getter 和 setter 一、类class 1.在ES6之前,JavaScript 不能像其它语言 (php,java)等有完整的类支持 2.我们采用了原型链实现了面向对象的功能,但从ES6开始,提供了真正的类语法 3.当然,虽然说是真的类语法,而本质上内部实现和原
阅读全文
摘要:要点:async语法 一、async语法 1.async也是处理异步的,它是对Promise的扩展,也让异步更加方便 2.优势:async 是基于Promise的,虽然是异步操作,但看上去像同步 3. async 的基本语法: let p1=new Promise((resolve,reject)=
阅读全文
摘要:要点:代理能力 1.什么是代理? 答:给目标对象封装一层拦截,外界访问必须先通过这层拦截 2.类似猎头招聘,你自己发布招聘会暴露自身信息,而通过中介则安全的多 3.代理Proxy的语法: // 目标对象 let obj={ name:'Mr.Lee', age:100, gender:'男' } /
阅读全文
摘要:要点:1.状态特点 2.更多方法 一、状态特点 1.Promise解决了异步多层回调混乱,且执行顺序的问题 2.Promise对象异步操作的三种状态: (1).Pending(进行中) (2).Fulfilled(已完成) (3).Rejected(已失败) 3.当异步操作执行之后,它得到的结果来决
阅读全文
摘要:要点:1.Promise介绍 2.实例测试 一.Promise介绍 1.Promise,即异步通信编程的一种解决方案,比传统的回调式更强大 2.ES6之前非常多层次嵌套的同步、异步,执行顺序混乱且不好维护 3.Promise很好的解决了这些问题,下面为它的语法 // 创建一个Promise实例 le
阅读全文
摘要:迭代器和生成器 要点:1.迭代器和生成器 2.默认迭代接口 一.迭代器和生成器 1.迭代器( Iterater ),用于给数据解构提供统一的访问遍历的机制 2.ES6之前的迭代器比较麻烦,现在引入生成器对象,让迭代器更加容易 3.创建一个生成器方法,方法名前加上 * 号,迭代的内容之前使用 yiel
阅读全文
摘要:Map数据集合 Map数据集合 1.ES6提供了Map数据集合,是一种以键值对存在的有序列表 // 创建Map集合 let map=new Map(); map.set('name','Mr.Lee'); //支持添加,支持.set(...).set(...) map.set('age',100);
阅读全文
摘要:Set数据集合 一、Set数据集合 1.ES6之前只有数组一种数据结构,现在提供Set和Map两种集合 2.Set集合是一种无重复元素的列表,使用new Set()方法创建Set集合 // 创建一个Set集合 let set=new Set(); set.add(1); set.add(2); se
阅读全文
摘要:要点:1.运算符扩展 2.方法的扩展 一、运算符扩展 1.ES6提供了(...)三个点将一个数组转换为逗号分隔来进行处理 function add(x,y){ return x+y; } console.log(add(...[10,20])); 2.既然三点运算符通过逗号分隔 console.lo
阅读全文
摘要:要点:1.简写方案 2.表达式方案 一、简写方案 1.ES6可以让对象字面量中属性初始值实现简写,一定程度降低了代码量 function fn(name,age){ // ES5的写法 return { name:name, age:age } } function fn(name,age){ //
阅读全文
摘要:要点:1.数值扩展 2.Math扩展 一.数值的扩展 1.ES6明确二进制、八进制和十六进制分别用0b、0o、0x作为前缀 console.log(Number('0b11')); console.log(Number('0o11')); console.log(Number('0x11')); 2
阅读全文
摘要:要点:正则扩展 正则扩展 1.ES6提供了u修饰符,对占两个字符特殊字进行正则识别 let result= /吉{2}/.test('吉吉'); console.log(result); let result=/𠮷{2}/.test('𠮷'); console.log(result) let r
阅读全文
摘要:要点:1.新增方法 2.模板字符串 一.新增方法 1.对于一些超过两个字符(四字节)的异体字,ES6新增了codePointAt()方法 // 两个字符的异体字 let text='𠮷'; console.log(text.length); //2 console.log(text.charAt(
阅读全文
摘要:要点:1.箭头扩展 2.尾调用 一.箭头扩展 1.箭头也支持一些内置函数的使用,例sort()排序 let arr=[3,1,2].sort((a,b)=>(a-b)); console.log(arr); // 翻译后代码 let arr=[3,1,2].sort(function(a,b){ r
阅读全文
摘要:要点:1.参数默认值 2.name属性 一.参数默认值 1.ES6之前函数是无法给参数设置默认值,现在支持 function fn(name, age=100, arr=[], obj={}, callback=function(){}){ // 参数1是必须传递 // 其余参数 有默认值,可选传递
阅读全文
摘要:要点:1.箭头函数 2.this绑定 一.箭头函数 1.ES6新增一个使用(=>)箭头符号定义函数的语法特征 let fn=name=>name; console.log(fn('Mr.Lee')); // 翻译成函数代码为: let fn=function(name){ return name;
阅读全文

浙公网安备 33010602011771号