解构赋值
解构赋值就是=
号两边的结构相等即可赋值 更方便的进行赋值运算,也是对赋值符号的扩展,能够更有效率的开发减少代码的书写量 可以对数组和对象进行解构赋值,新增...
.三点运算符可以把几个值收为一个数组,也可以把一个数组进行展开,!!注意三点运算符收集函数参数时只能对最后剩余的参数收集
解构赋值案列:
const arr = [ 1 , 2 , 3 , 4 , 5 ] ;
const [ a, b, c, d, e] = arr;
console. log ( a, b, c, d, e) ;
let arr = [ 1 , 2 , 3 , { name: "jack" , a: 'qwe' } ]
let { 0 : a, 1 : b, 2 : c, 3 : { name: ooo} } = arr;
console. log ( a, b, c)
let [ , , , { name: oName} ] = arr;
console. log ( oName) ;
输出为1,2,3和jack,对数组可以解构赋值也能对对象进行赋值
三点...
运算符案例
function fn ( ... arg) {
console. log ( arg) ;
}
fn ( 1 , 2 , 3 , 4 , 5 )
输出数组[1, 2, 3, 4, 5]
,可以对函数参数进行收集
function fn ( a, b, c, ... arg ) {
console. log ( arg) ;
console. log ( a, b, c) ;
}
fn ( 1 , 2 , 3 , 4 , 5 )
输出为(2) [4, 5],1 2 3
前面有三个接受三点运算符就只能对剩余参数进行接受返回数组
const arr = [ a= "qwe" , b= "abc" , c= 123 ]
console. log ( ... arr) ;
展开结果为qwe abc 123
;ES6主要是对数组展开,ES7是对象展开
ES6迭代器
从一个数据集合中按照顺序,不断的取出数据,不断取出数据所以叫做迭代 迭代其实和遍历数据差不多,遍历数据之不过是用for循环进行遍历数据,一次性全部取出数据,迭代是调用一次取出一次数据 封装,数据形式是数组或者对象 封装迭代器的条件是满足两项 ①迭代器必须要有得到下一个数据的能力②判断后面是否有数据
利用迭代器封装一个获取斐波那锲数列的函数
function fn ( ) {
let one = 0 ;
let two = 1 ;
let n = 1 ;
return {
por ( ) {
let value;
value = one + two ;
let rej = {
value,
done: false
}
one = two ;
two = value;
n++ ;
return rej;
}
}
}
let obj = fn ( ) ;
console. log ( obj. por ( ) ) ;