ES6 强制开启严格模式
作用域
•var 声明局部变量,for/if花括号中定义的变量在花括号外也可访问
•let 声明的变量为块作用域,变量不可重复定义
•const 声明常量,块作用域,声明时必须赋值,不可修改
function test() {
const k={
a:1
}
k.b=3;
const k={
a:1
}
k.b=3;
console.log(k);
}
test()解构赋值
console.log(a,b);
}
//output: 1 2 3
}
//output: 1 2 3
{
let a,c]=[1,b);
}
//output: 1 2 undefined
{
let a,...rest] = [1,2,4,5,6];
console.log(a,rest);
}
//output:1 2 [3,6]
{
let a,b;
({a,b} = {a:1,b:2})
console.log(a,b);
}
//output: 1 2
使用场景
变量交换
获取多个函数值
获取多个函数返回值
{
function f(){
return [1,...b] = f();
console.log(a,b);
}
//output: 1 [2,5]
function f(){
return [1,...b] = f();
console.log(a,b);
}
//output: 1 [2,5]
对象解构赋值
console.log(p,q);
}
//output: 42 true 5
}
//output: 42 true 5
获取json值
MetaData={
title: 'abc',test: [{
title: 'test',desc: 'description'
}]
}
let {title:esTitle,test:[{title:cnTitle}]} = MetaData;
console.log(esTitle,cnTitle);
}
//Output: abc test
以上这篇基于ES6作用域和解构赋值详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。
原文链接:https://www.f2er.com/js/35397.html