欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ES6要点总结(1)-let和const解构赋值

程序员文章站 2022-07-05 11:43:14
1、let和const:最基础也很容易理解的,let是 声明一个变量,const是声明一个常量。 具体细节看如下实例代码 2、解构赋值,简单来说就是将等号两边写成一样的模式,然后进行对应的赋值。如下实例 ......

1、let和const:最基础也很容易理解的,let是 声明一个变量,const是声明一个常量。

具体细节看如下实例代码

{
    let  a=1;
    console.log(a)
}
// console.log(a)  //let 只作用于当前代码块,也就是{}之内,所以这里会报错,而且不会预解析,下面声明是没用的
let a=2
//let 声明一个变量
//const 声明一个常量(不会变的)
// let a=1;
// var a=1;
// let a=1//这两种情况会报错,不允许重复性声明变量
let f=7;
function cons() {
    f=10;  //暂时性死区 会报错
    console.log(f)
    let f=10
}
// cons()
//let在for循环中的好处直接打印出索引,不用index()方法

var btn=document.getElementsByClassName('btn');
console.log(btn)

for(let i=0;i<btn.length;i++){
    btn[i].onclick=function () {
        console.log(i)

    }
}
//let在for循环中,在循环语句里面是父作用域,在循环内是子作用域
for(let i=0;i<6;i++){
    let i=10;
    console.log(i)     //打印出来是10;上面的是父作用域,里面的事子作用域
}
/*
* const同样有let 的上面特点,1 声明的常量只能在其代码块内有效 2 声明的变量不会被提升(预解析)3 不能声明以及声明过的常量,
* 除了这些还有 1 声明的时候必须赋值2 如果储存的事个简单数据类型时候不能改变其值,如果是对象,那么引用不可以改变,只有里面的数据变化是没关系的
* */

 2、解构赋值,简单来说就是将等号两边写成一样的模式,然后进行对应的赋值。如下实例

//1 数组的解构赋值
let [a,b,c]=[1,2,3]
console.log(a,b,c)  //1 2 3
let [e,[[f],g]]=[1,[[2],3]]
console.log(e,f,g) //1 2 3
let [x]=[]
console.log(x)//相当于let x;  undefined
let [y=1]=[]
console.log(y)//1  可以给默认值
//2 对象的解构赋值,原来就是根据key值,查找赋值,因为对象没有顺序
let {h,i}={h:'aaa',i:'bbb'}
console.log(h,i) //aaa bbb
let {j:k}={j:2222}
console.log(k) //2222
//3 基本类型的解构赋值,用的很少,可忽略
let [s,m,n]='123'
console.log(s,m,n) //1 2 3