ES6新增内容

在这里插入图片描述

es6兼容低版本方法:

1在线转换

2提前编译

主要内容

1变量

varletconst
可以重复声明不可以重复声明不可以重复声明
无法限制修改变量可以修改不可以修改
没有块级作用域块级作用域块级作用域

2函数

参数扩展/展开

​ 收集剩余参数,必须是最后一个形参 ,使用…形参名,来接收;

​ 展开数组,相当将数组的内容拿出来 例子:arr=[1,2,3] 就相当于 arr=1,2,3 也可以当做实参传入函数;

默认参数

​ function(a=5,b=7){} 5和7就相当于给了一个默认参数 ,但传入是参数时,使用传入的值,如果不传,使用默认

​ 的参数;

3数组

​ map 映射 一个对一个 (让数组通过某种计算产生一个新数组)

let arr = [1,2,3,4,5];
let newArray = arr.map((item,index)=> {
    return item * 2
});
newArray  // [2, 4, 6, 8, 10]
arr // [1,2,3,4,5]

​ reduce 汇总 (让数组中的前项和后项做某种计算,并累计最终值)

<script>
    //使用reduce计算平均数
    let  arr=[2,4,6,8];
    let  d=arr.reduce(function (a,b,c) {
        //a:第一项的值或者上一次叠加的结果值
        //b: 当前会参与叠加的项
       // c: 当前索引
        if(c!=arr.length-1){
            return a+b;
        }else {
            return  (a+b)/arr.length;
        }
    });
    console.log(d);

</script>

​ filter 过滤器

​ foreach 循环(迭代)

4字符串

多了两个新的方法:

​ startsWith 以什么开头

​ endsWith 以什么结尾

 let str='hello es6';
    console.log(str.startsWith('hello'));//当字符串以hello开头   返回true
     console.log(str.endsWith('es6')); //返回true   以es6结尾
字符串模板
let  a=2;
    let b=`
   <span><a href="#">${a}</a></span>
    `;//返回 <span><a href="#">2</a></span>
    //在字符串模板中(``),写入什么样的内容就可以输出什么内容,包括格式
    console.log(b);

5面向对象

​ class关键字,构造器和类分开了;

​ class里面直接加方法

class User{
        constructor(name,age){  //constructor构造器
            this.name=name;
            this.age=age;
        }
        run(){
            alert('这是一个跑的方法');
        }
        flay(){
            alert('这是一个飞的方法');
        }
    }
    let user1=new User('zhangsan',23);
    alert(user1.name);
    alert(user1.age);

继承

    class User{
        constructor(name,age){  //constructor构造器
            this.name=name;
            this.age=age;
        }
        run(){
            alert('这是一个跑的方法');
        }
        flay(){
            alert('这是一个飞的方法');
        }
    }
    class Vipuser extends User{  //extends必须要有   User要继承的对象
        constructor(name,age){
            super(name,age);//继承user的那几个属性
            this.run();   //继承父类的方法
        }
    }
    let c=new Vipuser('zhangsan',25);
    console.log(c);

6promise

主要解决异步多层嵌套问题(回调地狱) ,在jquery中也有相似的函数封装

解构赋值

左右两边的结构必须一样,右边的写法必须规范(比如对象,json),声明和赋值不能分开(必须在一句话完成);

字符串填充方法

使用ES6中的字符串新方法

String.prototype.padStart(maxLength, fillString=’’) 或 String.prototype.padEnd(maxLength, fillString=’’)来填充字符串;

示例:

new Date().getDay().toString().padStart(2,'0')
//注意:要使用这个方法,调用者必须是字符串类型
//padStart(填充后的长度number,要填充的内容string)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值