ES6中的一些基本知识点

ES6

一、let,const的区别是什么?

1.let:只在块级作用域内有效, 暂时性死区
{
let a = 10
}
变量的声明不能提升
var a = 10 ==> var a
a=10
let a = 10
var test = function(){

    }
    function test(){
        整体提升
    }

变量不可以重复声明
    let a = 10
        a = 20

2.const
只在代码块内有效
存在暂时性死区
声明不能提升
不可以重复声明
声明的是常量,不可改变常量的值
声明的同时必须初始化
const a
a = 10

    const a = 10
        a = 20

二、解构

解构
可以把对象或者是数组中的值,拿出来赋值给变量

let [a,b,c] = [1,2,3]
    a=1
    b=2
    c=3
等式两边如果模式相同的话,那么左右是一一匹配的关系
等式两边如果模式不相同的话,右数据多于左
解构失败
    let [a,b,c,d] = [1,2,3]
        d=undefined
等式两边如果模式不相同的话,左数据多于右

let [a,b,c]  = [1,2,3,4,5] 
    c = 3

 let [a,b,...c] = [1,2,3,4,5] 
    c = [3,4,5]

默认值
改变该变量的值,那么生效的是改变之后的值
没改变变量的值/undefined,那么生效的就是默认值

   let [a=10,b,c=12]=[1,2]
        a=1
        b=2
        c=12

数组的解构

     let [a,b,c]  = [1,2,3,4,5] 
    c = 3

    let [a,b,...c] = [1,2,3,4,5] 
        c = [3,4,5]

    let [a,b,{name}] = [1,'hello',{name:tom}]
            a = 1
            b = hello
            name = tom
    let [a,b,[c,d]] = [1,2,[3]]
        a = 1
        b = 2
        c = 3
        d = undefined

对象的解构

    let obj = {
        name:'tom',
        age:12
    }

    let {name:username,age:userage} = obj
            username
            userage
    let {name:name,age:age}

简写

    let {name,age} = obj

字符串的解构
是可迭代的
把字符串转换成类数组的形式

    let [a,b,c,d] = '1234'
    a = 1
    b =2
    c = 3
    d = 4

数值和布尔值
不可迭代

    let [a,b,c]= true

    let [a,b,c]= 123

    解构原型上的方法
    let {toString} = true
        toString == Boolean.prototype.toString

    let {trim} = '123'

原型链  继承!!!!!

类  

函数的解构
   function test([a,b]){

   }
   test([1,2])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值