ES6语法

作者: wjing静 | 来源:发表于2020-09-22 14:30 被阅读0次

    1.ES5和ES6声明变量的方式对比

    ES5中声明变量的方式:

    //1.通过var声明
    var num;
    //2.函数方式声明
    function fn(num){return num}
    fn(10);
    

    ES6中声明变量的方式:

    //1.使用let声明
    let a = 10;
    //2.使用const声明
    const name = "小明";
    

    2.var ,let,const的区别:

    1.不存在变量提升

    var 命令会发生变量提升现象,及变量可以在声明之前使用,值为undefined。
    let 和 const 则没有变量声明提升的功能,必须要先声明才能使用。

    2.不允许重复声明

    var命令能重复声明,后者覆盖前者。
    let 和 const不允许在相同作用域内,重复声明同一个变量。

    3.作用域

    var 的作用域是以函数为界限
    let 和 const 的作用域是块作用域,块级作用域指 { } 内的范围
    var 可以定义全局变量和局部变量,let 和 const 只能定义局部变量
    const 的声明的常量不能被修改,但对于引用类型来说,堆内存中的值是可以被改变的。

    4.变量作为全局属性

    定义的变量会作为window对象的属性,let不会

    3.ES6中的箭头函数

    ES6 中函数式声明方式被箭头函数 => 取代
    箭头函数:使用 => 定义函数

    1.当函数没有参数时,()不能省略
    2.当函数只有一个参数,且函数体是一句代码,且是返回语句
    3.参数的()可省略、函数体 {} 可省略、return 可省略、
    4.中间使用 => 连接
    5.若函数体只有一句,且不是return 语句, 不能省略 {}
    6.若函数体有多条语句,不能省略 {}
    7.若函数有多个参数,不能省略()
    8.若函数的返回值为对象,此时不能省略return

    4.箭头函数的this指向问题

    1.箭头函数没有this,this是父级的
    2.定义时候绑定,就是this是继承自父执行上下文!!中的this
    3.ES5中,this指调用者,ES6中,this指定义时候绑定

    5.ES6新增的字符串方法

    //字符串新增方法:
    方法                返回值          作用
    includes('str')     boolean         判断字符串中包含子串
    endWith('str')      boolean         判断字符串以"str"结尾
    startWith('str')    boolean         判断字符串以"str"开头
    repeat(n)           重复拼接自身     重复n次输出字符串 repeat + repeat
    
    //不全方法: 补全字符串长度
    padStart(length, s);        字符串开头补全
    endStart(length, s);        字符串末尾补全
    

    相关文章

      网友评论

          本文标题:ES6语法

          本文链接:https://www.haomeiwen.com/subject/fxswyktx.html