
ES6学习心得
文章平均质量分 73
zc的救赎
这个作者很懒,什么都没留下…
展开
-
ES6新特性 Class的实现
ES5之前类的继承是靠原型实现的,而这一过程的实现又涉及到一大堆的原型定义,特别是ES5推出了Object.definePorperty()方法后,代码更加晦涩。但是这种方式正是javascript这种弱类型语言的灵活性所在,而SE6为了使得javascript的类继承像java之类的语言一样更加简单纯粹,也推出了class这个定义类的关键字,虽然失去了一点灵活性,但是代码变得更加简单了。像其原创 2017-04-28 15:36:42 · 631 阅读 · 0 评论 -
SE6 模板字符串详解
SE6引入了模板字符串这样一个概念,让我们从无止尽的+连接字符串中解脱了出来,SE5中也可以在字符串末尾添加\实现,不过模板字符串更加好用和强大。SE6模板字符串是用反撇号(`,即键盘上和~键同一个键)括起来的字符串。支持字符串插值${express}$("#btn").html(` javaScript 6 2015年由${name}引入 `);使用说明:占原创 2017-04-27 17:35:10 · 1216 阅读 · 0 评论 -
ES6 let和const详解及使用细节
ES6之前javascript只有全局作用域和函数作用域,所以经常会遇到变量提升了或者使用闭包的时候出错的问题。所有a[i]都会输出10;var arr=[];for (var i=0;i<10;i++){ arr[i]=function(){ console.log(i); };} 变量提升,输出undefined。function原创 2017-04-27 16:14:00 · 1222 阅读 · 0 评论 -
深度揭秘ES6代理Proxy
最近在博客上看到关于ES6代理的文章都是一些关于如何使用Proxy的例子,很少有说明Proxy原理的文章,要知道只有真正掌握了一项技术的原理,才能够写出精妙绝伦的代码,所以我觉得有必要写一篇关于深刻揭露ES6 Proxy的文章。看完这篇文章你不会学到一些大型的使用Proxy的例子,但是你可以了解以下几方面的内容:你将知道代理是个什么东西你将知道所有代理对象可覆盖的方法一些代理对象使原创 2017-05-02 09:58:24 · 10850 阅读 · 4 评论 -
轻松学会ES6新特性之生成器
生成器虽然是ES6最具魔性的新特性,但也是最难懂得的一节,笔者写了大量的实例来具体化这种抽象的概念,能够让人一看就懂,目的是希望别人不要重复或者减少笔者学习生成器的痛苦经历。在说具体的ES6生成器之前,我觉得我们应该先来看一个例子,因为它真的很晦涩,我们需要先增加一下兴趣会说话的猫ES6生成器可以说是ES6新特性中最具魔力的特性,它可以极大的简化代码,并且贯穿了整个ES6的使用。它原创 2017-05-01 14:10:59 · 825 阅读 · 0 评论 -
ES6 for-of循环和迭代器使用细节
SE5之前我们可以用for循环来遍历数组,SE5为数组引进了新的方法forEach(),方便了很多,但是该方法不能够通过break或者return返回外层函数。arr.forEach(function(value){ console.log(value);}) ES6定义了一个更好的遍历数组的方法for-of循环,该方法的强大在于可以遍历任何具有迭代器的对象,例如数组、NodeLi原创 2017-04-28 13:55:15 · 566 阅读 · 0 评论 -
ES6 class的继承使用细节
ES6 class的继承与java的继承大同小异,如果学过java的话应该很容易理解,都是通过extends关键字继承。class Animal{ constructor(color){ this.color = color; };}class Bear extends Animal{ constructor(){ super(); }}其余的就不多说了,这里着重讲一原创 2017-04-28 17:43:00 · 8854 阅读 · 0 评论 -
ES6新特新之箭头函数使用细节
是什么呢?今天我们就来探究一下ES6的新特新-----胖箭头函数其他语言的函数定义都是很简洁的,但是为什么javaScript的就那么复杂呢?还必须带function关键字,这是一直令我很困惑的一个问题,还好ES6为我们解了这个问题,它定义的箭头函数不仅省略了function和return,甚至连一些小括号,大括号和分号都省略了,这种极简主义风格简直美不可言。// ES5array.fi原创 2017-04-30 21:13:21 · 470 阅读 · 0 评论 -
SE6新特性之集合Set、Map、WeakSet和WeakMap详解
SE5的时候我们经常用数组或者类数组对象来操作数据,而对于一些使用惯了java之类语言的集合的开发人员来说,总有少了点什么的感觉,SE6提供Set和Map这两个集合。不仅从根本上为一些问题提供了解决方案(如数据不重复),还大大提升了性能。要想理解Set和Map,就要从它的根本问题说起,在进行详细的API概览之前,我觉得有必要先说明两点:遍历Set和Map的顺序就是元素插入的顺序。这原创 2017-04-30 23:27:04 · 7495 阅读 · 0 评论 -
ES6新特性之Symbol使用细节
在迭代器章节的时候出现过[Symbol.iterator ]的属性,那么到底Symbo到底是什么?答:Symbol是ES6新定义的一种值,它既不是字符串,也不是对象,而是为javaScript增加的第七种基本类型,可以作为一个属性,多用来修复与旧代码命名冲突的问题。typeof Symbol()//"symbol"创建一个Symbol有三种方法:调用Symbol(),这种原创 2017-04-30 19:28:40 · 1793 阅读 · 2 评论 -
ES6新特性之解构使用细节
ES6的解构说白了就是能够让我们一次性取到多个值,大致可分为一下几个方面1、数组解构普通的一维数组解构,如下one = array[0],two=array[1],three=array[2]var [one, tow, three] = array;嵌套数组解构var [one,[[two],three]] = [1,[[2],3]];// one=1;two=2;thre原创 2017-04-28 19:28:06 · 415 阅读 · 0 评论 -
SE6 不定参数和默认参数详解和使用细节
在SE5以前我们通常通过arguments类数组对象来引用不定形参,SE6则使用了一种叫做不定参数的写法,比起隐式的arguments要直观的多。不定参数使用...参数名来指定一个不定参数,参数名指向一个数组,传进来的参数除开指定的形参外,其他的都存在这个数组中。如果调用famlies("Jhon","sily","mery");则others=["sily","mery"]。fu原创 2017-04-27 23:17:18 · 729 阅读 · 0 评论 -
ES6模块之export和import详解
ES6中的模块即使一个包含JS代码的文件,在这个模块中所有的变量都是对其他模块不可见的,除非我们导出它。ES6的模块系统大致分为导出(export)和导入(import)两个模块。1、模块导出(export)你可以导出所有的最外层函数、类以及var、let或const声明的变量。ES6模块只支持静态导入和导出,你只可以在模块的最外层作用域使用import和export,不可在条件语句中转载 2017-07-22 15:45:27 · 36614 阅读 · 0 评论