一.let和const:
let :块作用域,不能重复声明。
const:块作用域,声明的时候必须赋值,声明的值类型不能修改,引用类型由于是指针,所以可以修改。
二.解构赋值:
左边一种结构,右边一种结构,左右对应一一赋值。
1.数组的解构赋值
let a,b; [a,b] = [1,2]; console.log(a,b);
let a,b,reat; [a,b,...rest] = [1,2,3,4,5,6]; console.log(a,b,rest); //1,2,[3,4,5,6]
let a,b ,c; [a,b,c=3] = [1,2]; console.log(a,b,c);
2。对象的解构赋值
let a,b; ({a,b}={a:1,b:2}) console.log(a,b)
3.解构赋值的应用场景:
//变量交换
let a = 1; let b =2; [a,b] = [b,a]; console.log(a,b); // 2,1
//函数返回值 function f(){ return [1,2,3,4,5] } let a,b; [a,,,b] = f(); console.log(a,b); //1,4
//对象属性的重新赋值 let {a=10;b=5} = {a=3} console.log(a,b); //3,5
//JSON对象(最常用) let mataData = { title:'abc', test:[{ title:'test', desc:'description'}] }; let {title:esTitle,test:[{title:cnTitle}]} = mataData ; console.log(esTitle,cnTitle); // abc ,test