ES6(常用的、重点的)

ES6(常用的、重点的)

数组API、正则API、字符串API都不讲

变量声明

es6 中变量声明方式6种 var function let const class import 形参

总结:【es6中语法】 在同一个作用域中【变量名】不能重复;

function 定义函数 函数声明提升

var 声明变量 变量提升

let 声明的变量
只能在当前块中使用。let 声明的变量;决定变量能在哪里使用;而不是 形成一个作用域

注意事项

  • 在当前{} 中不能重复声明let 声明的变量

  • 在当前{}中 let 声明的变量之前不能使用该变量 ----> 暂时性死区

  • 函数体中 let不能声明形参

  • 在同一个作用域中let 不能声明函数名

  • 内层{} 声明的变量不影响外层{} 声明的变量

  • var 声明的变量;在提升;只要遇到let 重名;一律报错;不允许重复,默认提升到当前let 的块级域顶端

  • for 中的let 默认() 中let 为父级作用域, {} let为子作用域、

  • for循环特殊;执行多次所以可以形成多个块级作用域

z 块级作用域

let const 声明的变量能在哪里用的问题

  • 没有变量提升
  • 不能重复命名
  • 块级作用域

模板字符串

  • 模板字符串的基本用法
    var s1 = `abc`
  • 模板字符串的优势:
    var obj={ name:"",age:5 };
    var s1 ="我叫:"+obj.name+",今年:"+obj.age+"岁。"

解构赋值

解构赋值;赋值的内容要么是对象要么是数组。其他类型会报错的。

从对象和数组中取值的另一种方式

  • 对象的解构赋值
    var obj={name:"张三",age:18}

    var {name,age}=obj; 
    //生成2个变量,
    //  name值来自于obj.name、
    //  age值来自于obj.age

    var {name:title}=obj;
    //生成一个变量:title,值来自于obj.name
  • 函数参数的解构赋值
    function f1(obj){
        console.log(obj.age);
        console.log(obj.height)
    }
    //等价于
    function f1({ age,height }){
        console.log(age);
        console.log(height)
    }

    f1({age:5,height:180})
  • 补充:属性的简写
    var a = 3 ; 
    var c = 10;
    var b = { a,c } ;   
    //b对象有一个a属性,a属性的值,来自于a变量  ,
    //还有一个c属性,c属性的值来自于c变量
    console.log(b)

super

  • 1: super 只存在对象的简写函数中
  • 2:super 指向的原型对象
如何判断:super 为那个原型对象?
1:判断简写函数中this
2: 再找super,**super == this.__protp__**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值