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

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

第一章 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);
}
复制代码

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


作者:zhulin1028

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章
|
10月前
|
前端开发 JavaScript API
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(五)
|
1月前
|
Web App开发 JavaScript 前端开发
【ES6系列第一篇】ES6简介与特性、let、const、解构赋值
【ES6系列第一篇】ES6简介与特性、let、const、解构赋值
35 0
ES6中的新增属性——解构赋值
ES6中的新增属性——解构赋值
|
7月前
|
JSON 数据格式
ES6系列笔记-解构赋值
ES6系列笔记-解构赋值
46 1
|
9月前
ES6语法: 解构赋值
ES6语法: 解构赋值
32 0
|
9月前
|
JSON JavaScript 前端开发
ES6解构赋值有这一篇就够了
ES6解构赋值有这一篇就够了
|
10月前
|
JavaScript 前端开发
教你玩转ES6(一)-let,const和解构赋值
教你玩转ES6(一)-let,const和解构赋值
47 0
|
10月前
|
前端开发 网络架构
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(四)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(四)
|
10月前
|
前端开发 网络架构
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(二)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(二)
|
10月前
|
前端开发 API 网络架构
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(六)
ES6-ES11-第一部分-let、const、解构赋值、模板字符串、简化对象写法、箭头函数、函数参数默认值、rest 参数、扩展运算符、Symbol、迭代器、生成器、Promise、Set、Map(六)