摘要:用過(guò)的同學(xué)肯定見過(guò)類似下面的代碼這就是為帶來(lái)的另一個(gè)新的語(yǔ)法解構(gòu)賦值。解構(gòu)賦值是用來(lái)讓我們從數(shù)組或者對(duì)象中提取數(shù)據(jù)賦值給不同的變量。解構(gòu)賦值操作不會(huì)拋錯(cuò),如果沒有找到,將會(huì)用賦值過(guò)去。
用過(guò)ReactNative的同學(xué)肯定見過(guò)類似下面的代碼:
import { Text, View } from "react-native";
這就是ES2015為JavaScript帶來(lái)的另一個(gè)新的語(yǔ)法:解構(gòu)賦值。
解構(gòu)賦值(Destructuring assignment), 是用來(lái)讓我們從數(shù)組或者對(duì)象中提取數(shù)據(jù)賦值給不同的變量。
語(yǔ)法如下:
從數(shù)組中解構(gòu)賦值
let [a, b] = [1, 2];
從對(duì)象中解構(gòu)賦值
let {a, b} = {a: 1, b: 2}
PHP開發(fā)者有沒有覺得很眼熟? 對(duì)了,這不就是:
list($a, $b) = [1, 2];
沒錯(cuò),如你所想,ES2015從數(shù)組中解構(gòu)賦值和PHP的語(yǔ)法一樣,也可以忽略某些返回值, 甚至全忽略
let [a, , c] = [1, 2, 3]; [, ,] = [1, 2, 3];
數(shù)組的解構(gòu)賦值很簡(jiǎn)單,我們繼續(xù)來(lái)看看對(duì)象的解構(gòu)賦值:
let object = { f: 1, b: 2 } let {f, b} = object;
那我想賦值給不同變量的名字該怎么辦呢,如下:
let {f: foo, b: bar} = object;
要記住,這樣一來(lái),真正初始化并賦值的是foo 和 bar。
解構(gòu)賦值操作不會(huì)拋錯(cuò)(Fail-soft),如果沒有找到,將會(huì)用undefined賦值過(guò)去。
let [a] = []; // a === undefined let = {}; // b === undefined
同樣,我們也可以設(shè)置默認(rèn)值:
let [a = 1] = []; // a === 1 let {b = 2} = {}; // b === 2
也可以應(yīng)用在函數(shù)參數(shù)中:
function draw({color, using = "粉筆"}) { console.log("使用" + color + "的" + using + "畫畫!"); } draw({color: "紅色"}); draw({color: "藍(lán)色", using: "蠟筆"});
結(jié)果如下:
> 使用紅色的粉筆畫畫! > 使用藍(lán)色的蠟筆畫畫!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/83764.html
摘要:繼續(xù)以代碼進(jìn)行展開在中,如下代碼鴨子黃色嘎嘎嘎鴨子黃色嘎嘎嘎為對(duì)象帶來(lái)的新特性屬性簡(jiǎn)寫如果屬性名稱和變量名稱一致,那么可以直接用省略變量名,如下鴨子黃色嘎嘎嘎鴨子黃色嘎嘎嘎方法簡(jiǎn)寫方法可以省略冒號(hào)以及關(guān)鍵字如下鴨子黃色嘎嘎嘎鴨子黃色嘎嘎嘎解 繼續(xù)以代碼進(jìn)行展開, 在ES5中,如下代碼: function makeDuckToy() { var name = 鴨子; var co...
摘要:快速入門簡(jiǎn)介以下簡(jiǎn)稱是語(yǔ)言的下一代標(biāo)準(zhǔn),已經(jīng)在年月正式發(fā)布了。而且聲明后必須立即初始化賦值,不能后面賦值。方法默認(rèn)返回實(shí)例對(duì)象即,可以指定返回另外一個(gè)對(duì)象。參數(shù)搭配的變量是一個(gè)數(shù)組,該變量將多余的參數(shù)放入數(shù)組中。 es6快速入門 showImg(https://segmentfault.com/img/remote/1460000008519223?w=560&h=314); ES6簡(jiǎn)...
摘要:是國(guó)際組織于年月日發(fā)布的第六版,正式名為通常被成為或。二模版字面量提供一種簡(jiǎn)單實(shí)現(xiàn)表達(dá)式嵌套的字符串字面量操作,簡(jiǎn)而言之就是能夠以簡(jiǎn)單的方法實(shí)現(xiàn)字符串拼接操作。 本文同步 帶你入門 JavaScript ES6 (一),轉(zhuǎn)載請(qǐng)注明出處。 ES6: 是 ECMA國(guó)際組織于 2015 年 6 月 17 日發(fā)布的 ECMAScript 第六版,正式名為 ECMAScript 2015,通常被...
摘要:注意問(wèn)題,不在是運(yùn)行時(shí)所在的對(duì)象箭頭函數(shù)里面沒有用箭頭函數(shù)不能當(dāng)構(gòu)造函數(shù)下一篇入門到進(jìn)階二循環(huán)數(shù)組對(duì)象參考視頻資料經(jīng)典入門到進(jìn)階 一、簡(jiǎn)介 ES6 -> ECMA 標(biāo)準(zhǔn) ES6 -> 2015年6月 ES6.0 每年6月份,發(fā)布一個(gè)版本 ES6環(huán)境: webpack3.x Traceur 二、let、const 2.1 關(guān)于定義(聲明)變量 var a=12; ...
摘要:數(shù)組的解構(gòu)賦值基本用法允許按照一定模式,從數(shù)組和對(duì)象中提取值,對(duì)變量進(jìn)行賦值,這被稱為結(jié)構(gòu)。如下以上都會(huì)報(bào)錯(cuò)但是如果左邊為數(shù)組,右邊為字符串,將會(huì)取字符串的第一個(gè)下標(biāo)的值對(duì)于結(jié)構(gòu),同樣可以使用數(shù)組的解構(gòu)賦值。 showImg(https://segmentfault.com/img/remote/1460000018826068); 數(shù)組的解構(gòu)賦值 基本用法 ES6 允許按照一定模式...
閱讀 720·2021-08-17 10:15
閱讀 1827·2021-07-30 14:57
閱讀 2049·2019-08-30 15:55
閱讀 2882·2019-08-30 15:55
閱讀 2762·2019-08-30 15:44
閱讀 732·2019-08-30 14:13
閱讀 2444·2019-08-30 13:55
閱讀 2648·2019-08-26 13:56