分享

ES6新特性(1)之let命令/const命令/解构赋值

 zhulin1028 2022-04-04

第一章 let命令

1.let声明的变量只在变量声明时所在的代码块内有效

对比: 

{

var url = "www.baidu.com";

}

alert(url);

//--------------------------------

{

let url = "www.baidu.com";

}

alert(url);

2.let不允许在同一作用域重复声明变量:

let url = "www.baidu.com";

{

  let url="www.sina.com.cn";

  console.log(url);

}

正确,放到括号里面错误

3.let与全局变量的声明

//错误

let a=3;

  {

    var a=5;

  }

  alert(a);

//正确

var a=3;

{

   let a=5;

}

alert(a);

4.作用到子作用域

let a=3;

    {

       a=5;  //子作用域

    }

    alert(a); //弹出5

第二章 const命令

const命令用来生成一个常量,常量被声明后,值无法改变。其他与let相同。

第三章 解构赋值

1.数组解构

let [a, b, c,d] = ["aa", "bb", 77,88];

嵌套数组解构 

let [a,b,[c,d],e] =["aa",'bb',[33,44],55];

空缺变量 

let [a,b,,e] =["aa",'bb',[33,44],55];

多余变量 

let [a,b,,e,f] =["aa",'bb',[33,44],55];

默认值 

let [a,b,,e,f='hello'] =["aa",'bb',[33,44],55];

2.对象解构

let obj={uid:121,uname:'张三'};

let obj=new Object();

obj.uid=111;

obj.uname='张三';

let {uid:id,uname:name}=obj; //顺序改变无影响

alert(name);

小括号: 

let uid,uname;

({uid,uname} = obj); //必须有小括号,否则{}就会被解读为语句块

alert(uname);

可嵌套 

可有默认值 

3.字符串解构

let [a, b, c, d] ="倚天屠龙";

console.log(a,b,c,d);

4.函数参数解构

let obj={uid:121,uname:'张三'};

function analysis({uid,uname}){

    alert(uid);

    alert(uname);

}

analysis(obj);
//-------以下也正确

function analysis({uname}){

  alert(uname);

}

参数中数组、字符串、默认值、缺位均支持

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多