#es6

ES6模块和commonjs模块的区别

1.commonjs模块输出的是值的浅拷贝,ES6模块输出的是值的引用(也就是说,cmmonjs模块输出后被改变,其他引用模块不会改变,而ES6模块会改变)2.commonjs模块是运行时加载,而ES6模块是编译时输出接口,之所以webpack的tree-shaking只能作用于ES6模块,就是因为ES6模块在编译时就...
代码星球 ·2020-06-29

ES6新增函数总结和range函数实现

Array.from 类数组,Set,字符串转为数组Array.of  不定参数转为数组Array.prototype.fill(value,[start],[end])对数组在指定范围填充值Array.prototype.find()查找满足条件的首个元素,否则返回undefinedAr...

ES6 Set,WeakSet,Map,WeakMap

1.SetSet是一个集合,里面的值都是唯一的,没有重复的。Set中可以是任何数据类型,并且添加数据时会进行严格比较,重复数据无法加入。2.WeakSet弱引用Set。只能存储对象,不能存储其他类型。且只保持对其中对象的弱引用,若外部无对此对象的引用,或者对象被删除,则WeakSet中将不再有此对象。因为成员都是弱引用...
代码星球 ·2020-06-29

ES6装饰器Decorator基本用法

1.基本形式@decoratorclassA{}//等同于classA{}A=decorator(A);装饰器在javascript中仅仅可以修饰类和属性,不能修饰函数。装饰器对类的行为的改变,是代表编译时发生的,而不是在运行时。装饰器能在编译阶段运行代码。装饰器是经典的AOP模式的一种实现方式。2.装饰器的执行顺序同...

ES6箭头函数总结

1.箭头函数基本形式letfunc=(num)=>num;letfunc=()=>num;letsum=(num1,num2)=>num1+num2;[1,2,3].map(x=>x*x);2.箭头函数基本特点(1).箭头函数this为父作用域的this,不是调用时的this箭头函数的this永...
代码星球 ·2020-06-29

jquery Promise和ES6 Promise的区别

1.Deferred对象有resolve和reject方法,可以直接修改状态jquery用Deferred实现了Promise规范,Deferred与ES6Promise的最大区别是:Deferred对象有resolve()和reject()方法,可以直接随时修改该对象的状态。比如:vardef=$.Deferred(...
代码星球 ·2020-06-29

ES6箭头函数

1.无参数varsum=()=>1+2;//等同于:varsum=function(){return1+2;}2.返回单个值varreflect=value=>value;//等同于:varreflect=function(value){returnvalue;}3.返回单个语句varsum=(num1,n...
代码星球 ·2020-06-28

ES6 import export

importimport'./module1.js';(无对象导入)importdfrom'./module1.js';(导入默认对象)import{Employee,getEmployee}from'./module1.js';(导入命名对象)import{defaultasd,Employee}from'./mod...
代码星球 ·2020-06-28

ES6里let、const、var区别总结

  首先了解下let与var的区别,主要有以下3点:1、var在js中是支持预解析的,而let不支持预解析,也就是变量提升的区别console.log(a)vara=22;//打印undefinedconsole.log(b)letb=22//报错:bisnotdefined2、var可以重复定义同一个变量,但是let...
代码星球 ·2020-06-27

ES6小技巧

1、强制要求参数  ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数。  在下面的例子中,我们写了一个required()函数作为参数a和b的默认值。这意味着如果a或b其中有一个参数没有在调用时传值,会默认required()函数,然后抛出错误。constrequired=()=&...
代码星球 ·2020-06-27

ES6 import 引用文件夹/目录及其处理过程

1、现象    看redux的时候发现官网的教程里直接import了一个文件夹,我再三确定没有看错,是一个文件夹(Directory),它直接import了一个目录!这个文件夹/目录底下还有一个index.js文件。js文件只能用index.js,换其他名字都会报错。我使用的是webpack+babel-loader来...

ES6方面重点摘要

1、变量声明(1)内层变量覆盖外层变量(即后面的覆盖前面的)(2)循环变量的声明,i值在全局范围内有效,所以最后输出的都是最后一轮i的值(3)let、const的引入,为JS增加了块级作用域的概念(const一旦声明,常量的值就不能改变)(4)const的应用场景,引用第三方库时,用const声明2、原型、构造函数、继...
代码星球 ·2020-06-27

深入理解ES6里的promise

一、ES6Promise是什么?  复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么呢?是一个类?对象?数组?函数?  别猜了,直接打印出来看看吧,console.dir(Promise),就这么简单粗暴。  这么一看就明白了,Promise是一个构造函数...

ES6中的async函数

一、概述  async函数是Generator函数的语法糖  使用Generator函数,依次读取两个文件代码如下varfs=require('fs');varreadFile=function(fileName){returnnewPromise(function(resolve,reject){fs.readFil...
代码星球 ·2020-06-27

ES6中的迭代器(Iterator)和生成器(Generator)(一)

  用循环语句迭代数据时,必须要初始化一个变量来记录每一次迭代在数据集合中的位置,而在许多编程语言中,已经开始通过程序化的方式用迭代器对象返回迭代过程中集合的每一个元素  迭代器的使用可以极大地简化数据操作,于是ES6也向JS中添加了这个迭代器特性。新的数组方法和新的集合类型(如Set集合与Map集合)都依赖迭代器的实...
首页上一页...89101112...下一页尾页