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

ES6中l(wèi)et、const的區(qū)別及變量的解構(gòu)賦值操作方法實(shí)例分析

 更新時(shí)間:2019年10月15日 10:07:41   作者:機(jī)智的導(dǎo)演  
這篇文章主要介紹了ES6中l(wèi)et、const的區(qū)別及變量的解構(gòu)賦值操作方法,結(jié)合實(shí)例形式分析了ES6中l(wèi)et、const的功能、原理、使用方法及數(shù)組、字符串、函數(shù)參數(shù)等解構(gòu)賦值相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了ES6中l(wèi)et、const的區(qū)別及變量的解構(gòu)賦值操作方法。分享給大家供大家參考,具體如下:

聲明:本文內(nèi)容依照阮一峰老師ECMAScript 6 入門(mén)一書(shū)所總結(jié)。

let和const

相同點(diǎn)

  1. 都存在塊級(jí)作用域
  2. 都不存在變量聲明提升
  3. 都會(huì)造成“暫時(shí)性死區(qū)”
  4. 在一個(gè)作用域下不可重復(fù)聲明

不同點(diǎn)

  1. const一旦聲明必須立即賦值
  2. const聲明的變量指向的內(nèi)存地址不得改動(dòng)。

變量解構(gòu)賦值

數(shù)組的解構(gòu)賦值

解構(gòu)成功

let [a, b, c] = [1, 2, 3];

解構(gòu)不成功

let [foo] = [];

不完全解構(gòu)

let [x, y] = [1, 2, 3];

默認(rèn)值

let [foo = true] = [];

解構(gòu)條件:只要某種數(shù)據(jù)結(jié)構(gòu)具有 Iterator 接口,都可以采用數(shù)組形式的解構(gòu)賦值。

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

與數(shù)組的區(qū)別:對(duì)象的解構(gòu)與數(shù)組有一個(gè)重要的不同。數(shù)組的元素是按次序排列的,變量的取值由它的位置決定;而對(duì)象的屬性沒(méi)有次序,變量必須與屬性同名,才能取到正確的值。

應(yīng)用:可以很方便地將現(xiàn)有對(duì)象的方法,賦值到某個(gè)變量。

let { log, sin, cos } = Math;

字符串的解構(gòu)賦值

原理:字符串被轉(zhuǎn)換成了一個(gè)類(lèi)似數(shù)組的對(duì)象。

const [a, b, c, d, e] = 'hello';

類(lèi)似數(shù)組的對(duì)象都有一個(gè)length屬性,因此還可以對(duì)這個(gè)屬性解構(gòu)賦值。

let {length : len} = 'hello';
len // 5

數(shù)值和布爾值的解構(gòu)賦值

let {toString: s} = 123;
s === Number.prototype.toString // true

let {toString: s} = true;
s === Boolean.prototype.toString // true

函數(shù)參數(shù)的解構(gòu)賦值

[[1, 2], [3, 4]].map(([a, b]) => a + b);
// [ 3, 7 ]

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專(zhuān)題:《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論