51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#es6
ES6 迭代器
迭代器是ES2015中新增的规范,与之相关的for...of也是ES2015新增的。本文来深入研究一下迭代器是什么,以及迭代器能够干什么?或许你对for...of的执行还不了解,比如什么情况下可以使用for...of去遍历对象,什么情况下会报错等等,这篇文章应该能帮到你。 for...of只能迭代满足【迭代器...
代码星球
·
2020-12-25
ES6
迭代
ES6 尾调用和尾递归
尾调用(TailCall)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。functionf(x){returng(x);}上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。以下三种情况,都不属于尾调用。//情况一functionf(x){lety=g(x);...
代码星球
·
2020-12-25
ES6
调用
递归
Js ES6编码规范
本章节讨论使用ES6编码风格到代码中需要注意的点。通过记住这些关键点,可以让我们写出更优美的、可读性更强的JavaScript E6风格的代码。 1.1、let取代varES6提出了两个新的声明变量的命令:let和 const。其中,let可以完全取代var,因为两者语义相同,而且let没...
代码星球
·
2020-12-24
Js
ES6
编码
规范
ES6的Map类型
本文内容Map的基本使用Map支持的数据类型Map的迭代Map与其他对象的转化在Map出现之前,要实现类似需求,只能使用Object,但是Object还是存在一些问题的。如果使用Object作为key存储在{}中,key最终是当做[objectObject]来使用的Object的keys是无序的无法安全遍历Object...
代码星球
·
2020-12-24
ES6
Map
类型
es6 Set和Map数据结构
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set 数据结构。consts=newSet();[2,3,5,4,5,2,2].forEach(x=>s.add(x));for(letiofs){console.log(i);}//...
代码星球
·
2020-12-24
es6
Set
Map
数据结构
快速掌握ES6的class用法
1.如何构造?先复习一下es5常用的构建类的方法:首先es5的写法使用原型进行对象的方法的,为什么不在构造函数里添加方法呢?因为实例化对象的时候,会重复的建立好多相同的方法,浪费资源。所以需要把对象的方法挂载到prtotype里。关于new和this的绑定问题,可以大概简化为:首先通过new生成一个新的对象然后让这个对...
代码星球
·
2020-12-24
快速
掌握
ES6
class
用法
ES6箭头函数解析,跟普通函数的区别
ES6中允许使用箭头=>来定义箭头函数,是ES6中较受欢迎也较常使用的新增特性。本文将从箭头函数的基本语法,与普通函数对比,箭头函数不适用场景三个方面进行梳理。 //箭头函数letfunc=(name)=>{//函数体return`Hello${name}`;};//等同于letfunc=func...
代码星球
·
2020-12-24
函数
ES6
箭头
解析
普通
前端模块化:CommonJS,AMD,CMD,ES6
模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有Commonjs、AMD、CMD以及ES6的模块系统Node.js是commonJS规范的主要实践者,它有四个重要的环境变量为模块化的实现提供支持:module、exp...
代码星球
·
2020-12-24
前端
模块化
CommonJS
AMD
CMD
ES6变量的解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。它在语法上比ES5所提供的更加简洁、紧凑、清晰。它不仅能减少你的代码量,还能从根本上改变你的编码方式。 以前,为变量赋值,我们只能直接指定值,比如leta=1;letb=2;letc=3;现在可以用数组解构的方式来进行赋值let[a,...
代码星球
·
2020-12-24
ES6
变量
解构
赋值
ES6 展开操作符的几个妙用
复制对象的同时,为其添加新的属性。例子中复制了user对象到userWithPass,并添加了 password 属性。constuser={id:110,name:'KaysonLi'}constuserWithPass={...user,password:'Password!'}user//=&...
代码星球
·
2020-12-24
ES6
展开
操作
几个
妙用
es6异步解决方案
由于最初js官方没有明确的规范,各种第三方库中封装的异步函数中传的回调函数中的参数没有明确的规范,没有明确各个参数的意义,不便于使用。但是node中有明确的规范node中的的回调模式:1.所有回调函数必须有两个参数,第一个参数表示错误,第二个参数表示结果2.所有回调函数必须作为函数最后的参数 3.所有回...
代码星球
·
2020-12-24
es6
异步
解决方案
聊聊es6中的解构
es6新增了一种从数组或者对象中获取指定元素的方式,这种方式就是我们今天要说的解构。 先来说说数组的解构:在有解构之前呢,我们获取数组中的指定元素通常是根据索引去做的:constarr=[1,2,3];consta=arr[1];有了解构之后呢,我们便可以使用如下方式快速的去获取数组中的某个元素:consta...
代码星球
·
2020-12-24
聊聊
es6
中的
解构
ES6新特性:JavaScript中内置的延迟对象Promise
利用Promise是解决js异步执行时候回调函数嵌套回调函数的问题,更简洁地控制函数执行流程;通过new实例化Promise, 构造函数需要两个参数,第一个参数为函数执行成功以后执行的函数resolve,第二个函数为函数执行失败以后执行的函数reject:newPromise(function(resolve...
代码星球
·
2020-12-24
ES6
新特性
特性
Javascript
内置
主流浏览器对ES6的支持情况
现在使用的js语法,基本是ES5的规范,15年出的ES6的规范增加了很多其他语法,要看浏览器的支持情况,如果浏览器不支持那么就会报错ES6块级作用域关键字let,常量const,对象字面量的属性赋值简写,赋值解构,函数参数-默认值、参数打包、数组展开(Default、Rest、Spread),箭头函数 Arr...
代码星球
·
2020-12-24
主流
浏览器
ES6
支持
情况
ES6的循环和可迭代对象
本文将研究ES6的for...of循环。 在过去,有两种方法可以遍历 JavaScript。首先是经典的fori循环,它使你可以遍历数组或可索引的且有length属性的任何对象。for(i=0;i<things.length;i++){varthing=things[i]/*...*/}其次是...
代码星球
·
2020-12-24
ES6
循环
迭代
对象
首页
上一页
...
4
5
6
7
8
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他