ES6 、let 、const 解构赋值2019-07-08

2019-07-08  本文已影响0人  圣召唤

let  

#与var类似,用于声明一个变量

特点:

# 再块作用域内有效

#不能重复声明

#不会预处理,不纯在变量提升。 变量提升就是一个预处理、预解析 的过程,预处理找到var 把var声明的变量提前,而赋值不提前;找到function后把整个函数都提前。而使用了let的话这些都不能

应用:

#循环遍历加监听

#使用let取代var是趋势

const 定义一个常量

#特点是不能修改 其他特点同let  保存不用改变的数据

解构赋值

解析完结构然后赋值,从对象或数组中提取数据,并赋值给变量(多个)类似与拆包

对象的解构赋值 let{n,a} = {n : 'tom' , a:12};

数组的结构赋值 let [a,b] = [1,'hello'];

用途 : 给多个形参赋值

赋值出的是全局变量 console.log 是全局调用 {}表示对象,解构赋值接收时必须用{}

解构赋值的原理是

let{username }= obj,username; #这样就意味着解构对象赋值时,被赋值的对象必须是解构中已有的对象,这样系统才能明白给谁那个值,否则就会出现Undefined。

当解构数组赋值时,通过数组下标一一对应,所以只要下标对应,具体被赋值的对象叫什么都无所谓;当需要取的数组数据的下标不为时,可以这样:let [  ,  ,  a ,b ] = arr ;这样的话就可以取到数组中任意位置的数据。

function foo({username , age}){ #在调用这个函数时,其实相当于{username, age}=obj

    console.log(username , age);

}

foo(obj);

上一篇 下一篇

猜你喜欢

热点阅读