es6
newway007
这个作者很懒,什么都没留下…
展开
-
next()的理解
总结的简单流程是: (1)执行next后会从上往下依次返回每个yield表达式的值, (2)如果next有传参的话,会整个覆盖掉将要返回当前yield的上一个yield, (3)方法内的yield表达式和return都执行完了,就会直接返回undefined了。 所以它的流程才会是: 入参 分析结果 1 1(无论是否传参,传什么参数,返回第一个表达式的值1) 2 2(返回第二个...原创 2019-11-12 15:38:21 · 3892 阅读 · 0 评论 -
箭头函数深入理解
很早就接触这个了,但是今天发现可能我并没有想象中的那么理解它; 如果只有一个参数,可以省略参数的括号: const fun = number => { return number * 2 } 如果只有一条执行语句,甚至可以省略后面的大括号,而且可以也不能写 return const fun = number => number * 2 var Foo = (...原创 2019-11-12 14:03:10 · 223 阅读 · 0 评论 -
解构默认值+参数默认值 的区别
function f6({ x = 10 } = {}, { y } = { y: 10 }) { console.log( x, y ); } f6(); // 10 10 f6( undefined, undefined ); // 10 10 f6( {}, undefined ); ...原创 2019-11-12 11:11:31 · 623 阅读 · 0 评论 -
扩展运算符
扩展运算符可以用在函数参数,数组和对象上; 函数参数: 函数里面成为rest参数: function add(...values) { let sum = 0; for (var val of values) { sum += val; } return sum; } add(2, 5, 3) // 10 这样就不需要用arguments参数了。 ...原创 2019-10-25 10:22:17 · 164 阅读 · 1 评论 -
遍历器Iterator
遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。 Iterator的作用有三个:一是为各种数据结构,提供一个统一的、简便的访问接口;二是使得数据结构的成员能够按某种次序排列;三是ES6创造了一种新的遍历命令for...of循环,Iterator接口主要供for......转载 2019-10-23 14:53:31 · 256 阅读 · 0 评论 -
es6的解构赋值
es6允许从数组和对象中提取值,再对变量进行赋值,这被称为解构。 数组赋值和对象赋值: let [a, b, c] = [1, 2, 3]; let [ , , third] = ["foo", "bar", "baz"]; third // "baz" let [head, ...tail] = [1, 2, 3, 4]; head // 1 tail // [2, 3, 4] le...原创 2019-10-21 10:35:28 · 127 阅读 · 0 评论