基于ES6作用域和解构赋值的示例分析-创新互联
小编给大家分享一下基于ES6作用域和解构赋值的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

ES6 强制开启严格模式
作用域
•var 声明局部变量,for/if花括号中定义的变量在花括号外也可访问
•let 声明的变量为块作用域,变量不可重复定义
•const 声明常量,块作用域,声明时必须赋值,不可修改
// const声明的k指向一个对象,k本身不可变,但对象可变
function test() {
const k={
a:1
}
k.b=3;
console.log(k);
}test()解构赋值
{
let a, b, 3, rest;
[a, b, c=3]=[1, 2];
console.log(a, b);
}
//output: 1 2 3
{
let a, b, 3, rest;
[a, b, c]=[1, 2];
console.log(a, b);
}
//output: 1 2 undefined
{
let a, b, rest;
[a, b, ...rest] = [1, 2, 3, 4, 5, 6];
console.log(a, b, rest);
}
//output:1 2 [3, 4, 5, 6]
{
let a, b;
({a, b} = {a:1, b:2})
console.log(a ,b);
}
//output: 1 2使用场景
变量交换
{
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a, b);
}获取多个函数值
{
function f(){
return [1, 2]
}
let a, b;
[a, b] = f();
console.log(a, b);
}获取多个函数返回值
{
function f(){
return [1, 2, 3, 4, 5]
}
let a, b, c;
[a,,,b] = f();
console.log(a, b);
}
//output: 1 4
{
function f(){
return [1, 2, 3, 4, 5]
}
let a, b, c;
[a, ...b] = f();
console.log(a, b);
}
//output: 1 [2, 3, 4, 5]对象解构赋值
{
let o={p:42, q:true};
let {p, q, c=5} = o;
console.log(p ,q);
}
//output: 42 true 5获取json值
{
let metaData={
title: 'abc',
test: [{
title: 'test',
desc: 'description'
}]
}
let {title:esTitle, test:[{title:cnTitle}]} = metaData;
console.log(esTitle, cnTitle);
}
//Output: abc test看完了这篇文章,相信你对“基于ES6作用域和解构赋值的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道,感谢各位的阅读!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享题目:基于ES6作用域和解构赋值的示例分析-创新互联
文章转载:http://www.jxjierui.cn/article/iscgc.html


咨询
建站咨询
