运算符的扩展:
用(...)将一个数组转换成逗号分割进行处理   
 function add(x,y){
     return (x+y);
 }
console.log(add(...[10,20]));//30
console.log(Math.max(...[1,2,3,4,5]));//求取最大值
console.log(...[1,2],...[3,4],...[5,6]);//合并成一个数组
不加(...)结果就是:
方法的扩展:
//Array of()为了弥补Array的不足 let items=Array(1,2,3);//[ 1, 2, 3 ] let items=Array(3);//[ <3 empty items> ]长度 小于两位显示长度 console.log(items); let items=Array.of(1,2,3);//[ 1, 2, 3 ] let items=Array.of(3);//[ 3 ] console.log(items);
//Array.from()方法,将类似数组的对象或遍历转换成真正的数组; let obj={ 0:'name', 1:'age', 2:'set', length:3 } // console.log(obj);//{ '0': 'name', '1': 'age', '2': 'set', length: 3 } console.log(Array.from(obj));//[ 'name', 'age', 'set' ] //返回的是类似数组的对象 let ln=document.querySelectorAll("p"); console.log(ln);
//find()和 findIndex()方法,用于查找数组中第一个匹配的值; let items=[10,20,30,40]; // 参数是回调函数,可以用箭头函数 findindex得到的是索引 console.log(items.findIndex(value=>value>19));//1 索引 console.log(items.find(value=>value>19));
//fill()方法,可以填充重写数组中的元素值; let items=[1,2,3,4,5]; console.log(items.fill('a'));//[ 'a', 'a', 'a', 'a', 'a' ] console.log(items.fill('a', 3 , 4));//[ 1, 2, 3, 'a', 5 ]
// copyWithin 方法,从数组内部复制值,然后粘贴指定位置; let items=[1,2,3,4,5]; //从索引 0 开始复制值 //然后把值从索引 2 开始粘贴 //参数 3 设置结束粘贴索引 console.log(items.copyWithin(2,0));
对象的简写改进:
简写方案:
1、让对象字面量中属性初始值实现简写,一定程度降低了代码量
function fn(name,age){ // ES5写法 return { name:name, age:age } } console.log(fn("苏玮一",21)); function fn(name,age){ // ES6写法 return { name,age } } console.log(fn("苏玮一",21));
2、对象字面量中方法的简写方式,也降低了一定的代码量
let obj={ //ES5 fn:function(){ return 'fn'; } } console.log(obj.fn()); let obj={ //ES6 fn(){ return 'fn'; } } console.log(obj.fn());
表达式方案:
1、对象字面量中,使用表达式进行属性名称的拼装操作
//拼装组合属性 let obj={ ['user'+'name']:"苏玮一", ['user'+' age']:21,//有空格 'user set':"女"//字符串 } console.log(obj.username); console.log(obj['user age']); console.log(obj['user set']);
2、在对象字面量中使用可计算(动态)属性名称
//通过变量 myName 动态更改 obj 属性名 //问题是当变量值更改了,属性名就失效了 let myname='name'; let obj={ name:"苏玮一" } console.log(obj.name);//苏玮一 console.log(obj[myname]);//苏玮一 //使用[myName]可计算属性名 //实现了真正的动态计算 let obj={ [myname]:"苏玮一" } console.log(obj[myname]);//苏玮一
3、ES6 在对象字面量方法上,也可以使用拼装名称
let obj={ ['f'+'n'](){ return 'fn'; } } console.log(obj.fn());
                    
                
                
            
        
浙公网安备 33010602011771号