欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于ES6作用域和解構(gòu)賦值詳解

 更新時(shí)間:2017年11月03日 09:46:56   作者:昊羲  
下面小編就為大家?guī)?lái)一篇基于ES6作用域和解構(gòu)賦值詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

ES6 強(qiáng)制開(kāi)啟嚴(yán)格模式

作用域

•var 聲明局部變量,for/if花括號(hào)中定義的變量在花括號(hào)外也可訪問(wèn)

•let 聲明的變量為塊作用域,變量不可重復(fù)定義

•const 聲明常量,塊作用域,聲明時(shí)必須賦值,不可修改

// const聲明的k指向一個(gè)對(duì)象,k本身不可變,但對(duì)象可變

function test() {
 const k={
  a:1
 }
 k.b=3;
 
 console.log(k);
}

test()解構(gòu)賦值

{
 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

使用場(chǎng)景

變量交換

{
 let a = 1;
 let b = 2;
 [a, b] = [b, a];
 console.log(a, b);
}

獲取多個(gè)函數(shù)值

{
 function f(){
  return [1, 2]
 }
 let a, b;
 [a, b] = f();
 console.log(a, b);
}

獲取多個(gè)函數(shù)返回值

{
 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]

對(duì)象解構(gòu)賦值

{
 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作用域和解構(gòu)賦值詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論