国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ES6-解構(gòu)

這篇具有很好參考價值的文章主要介紹了ES6-解構(gòu)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔


什么是解構(gòu)

??????es6允許按照一定模式,從數(shù)組和對象中提取值,對變量進行賦值,稱之為解構(gòu)。
解構(gòu)是es6的新特性,比ES5代碼簡介、清晰、減少代碼量
ES5中的為變量賦值,只能直接指定值。

var name = '天秀'

數(shù)組解構(gòu)

es6匹配模式寫法

var [a,b,c] = [1,2,3];
//這種模式屬于 ‘模式匹配’,只要等兩邊的模式相同,左邊的變量就會被賦予對應的值
var x=1;
var y = [1,2];
var z = 3;
var [x,y,z] = [1,[1,2],3];// 數(shù)組
var [x,y,z] = [1,{'name':'any'},3];// 對象

如果解構(gòu)不成功,變量的值就等于undefined

let [a] = [];
let [a,b] = [1];

解構(gòu)賦值允許指定默認值

var [x=1,y=2] = [10,20];// x=10,y=20
var [x=1,y=2] = [10];// x= 10,y=2

只有當一個數(shù)組成員嚴格等于undefined時,默認值才會生效

var [x=1]=[undefined];// x=1
var [x,y ='b'] = ['a',undefined];// x='a',y='b';

惰性求值
??????如果默認值是一個表達式,那么這個表達式是惰性求值的,即只有在用到的時候,才會求值

function f(){
  return '上山打老虎'
}
var [x = f()] = [1];// x=1
var [x = f()] = [];// x='上山打老虎';
var [x = f()] = [undefined];// x = '上山打老虎'

對象解構(gòu)

??????與數(shù)組不同的是按次序排列的,變量的取值由它的位置決定,而對象的屬性沒有次序,變量必須與屬性同名,才能取到正確的值。
對象解構(gòu)的寫法

let {a,b} = {b:1,a:2};

運用

var obj = {
	id:1,
	name:'abc',
	sex:'男',
	friends:['x','y','z'],
	o:{id:2,msg:'hello'}
};
// es5從對象中取值的方式
var newId = obj.id;
// es6通過解構(gòu)取值
var {id,name,sex,o} = obj;

別名:變量名與屬性名不一致,name是匹配模式,n是變量

var {name:n,age:a} = {name:'張三',age:20};

同樣允許指定默認值,生效的條件是,屬性值嚴格等于undefined

let {x,y = 20} = {x:100};//x = 100,y = 20
let {x:y = 20} = {x:50};// y = 50
let {x:a = 10,y:b=20} = {x:undefined};// a= 10,b=20

注意
如果要將一個已經(jīng)聲明的變量用于解構(gòu)賦值,需注意

let x;
{x} = {x:1};
//js引擎會將{x}理解成一個代碼塊,從而發(fā)生語法錯誤,只有不將大括號寫在行首,才能解決
({x} = {x:1})

字符解構(gòu)

let [a,b,c,d,e] = 'express'

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

// 數(shù)組解構(gòu)
function add([x,y]){
  return x + y;
}
add([1,2]);// 3
// 對象解構(gòu)
function add({x,y}){
  return x + y;
}
add({x:3,y:2});// 5

參數(shù)默認值的定義

function fun([x=0,y=0]){
	return x + y;
};
fun([1,2]);
// 目的是當實參為空時,不會報錯

總結(jié)

解構(gòu)新特性的優(yōu)勢可以使代碼簡潔,清晰,減少代碼量。文章來源地址http://www.zghlxwxcb.cn/news/detail-682535.html

到了這里,關于ES6-解構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • ES6 解構(gòu)賦值

    解構(gòu)賦值是一種在編程中常見且方便的語法特性,它可以讓你從數(shù)組或?qū)ο笾锌焖偬崛?shù)據(jù),并將數(shù)據(jù)賦值給變量。在許多編程語言中都有類似的特性。 在 JavaScript 中,解構(gòu)賦值使得從數(shù)組或?qū)ο笾刑崛?shù)據(jù)變得簡單。它可以用于數(shù)組和對象,并且使用相同的語法來解構(gòu)它們

    2024年02月14日
    瀏覽(29)
  • ES6 解構(gòu)

    解構(gòu)的語法中, ... (展開運算符)和 {} (對象字面量)扮演著不同的角色。 ... (展開運算符): 在解構(gòu)中, ... 被用作展開運算符,用于將數(shù)組或?qū)ο笾械氖S嘣孬@取為一個單獨的變量。 示例: 在上述示例中, ...rest 表示剩余的數(shù)組元素。變量 a 和 b 分別賦值為數(shù)組的

    2024年02月13日
    瀏覽(33)
  • [ES6]解構(gòu)與賦值

    解構(gòu)賦值是對賦值運算符的擴展。 通過解構(gòu),可以更加簡單的獲取復雜對象的屬性 解構(gòu)的源,解構(gòu)賦值表達式的右邊部分 解構(gòu)的目標,解構(gòu)賦值表達式的左邊部分 當變量名稱與對象中的屬性名稱一致時,可簡寫 {attr} 使用解構(gòu)方式獲取對象參數(shù)中的對應屬性,這樣在函數(shù)內(nèi)部

    2023年04月22日
    瀏覽(21)
  • 【ES6】解構(gòu)語句中的冒號(:)

    在解構(gòu)賦值語法中,冒號(:)的作用是為提取的字段指定一個新的變量名。 讓我們以示例 const { billCode: code, version } = route.query 來說明: { billCode: code, version } 表示從 route.query 對象中提取 billCode 和 version 字段。 冒號(:)后面的 code 是新的變量名,表示將 billCode 字段的值賦給

    2024年01月21日
    瀏覽(19)
  • ES6解構(gòu)對象、數(shù)組、函數(shù)傳參

    ES6解構(gòu)對象、數(shù)組、函數(shù)傳參

    ? 目錄 ?1.對象解構(gòu) 2.對象解構(gòu)的細節(jié)處理 2.1.解構(gòu)的值對象中不存在時 2.2.給予解構(gòu)值默認參數(shù)? ?2.3.非同名屬性解構(gòu) 3.數(shù)組解構(gòu) 3.1基礎解構(gòu)語法 3.2數(shù)組嵌套解構(gòu) 4.函數(shù)解構(gòu)傳參 5.解構(gòu)小練習 在ES6的新語法中新增了解構(gòu)的方法,它可以讓我們很方便的從數(shù)組或者對象身上取

    2024年02月16日
    瀏覽(16)
  • 深入理解 ES6 的解構(gòu)表達式

    深入理解 ES6 的解構(gòu)表達式

    還是大劍師蘭特 :曾是美國某知名大學計算機專業(yè)研究生,現(xiàn)為航空航海領域高級前端工程師;CSDN知名博主,GIS領域優(yōu)質(zhì)創(chuàng)作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技術開發(fā),歡迎加底部微信(gis-dajianshi),一起交流。 No. 內(nèi)容鏈接 1 Openlayers 【入門教

    2024年04月13日
    瀏覽(25)
  • ES6之 變量的解構(gòu)賦值 ? 擴展運算符(…)

    ES6之 變量的解構(gòu)賦值 ? 擴展運算符(…)

    一看就懂,代碼如下: 效果如下: 如下: 如下: 什么是擴展運算符(…運算符)? 就是展開語法 (Spread syntax), 可以在函數(shù)調(diào)用/數(shù)組構(gòu)造時,將數(shù)組表達式或者 string 在語法層面展開;還可以在構(gòu)造字面量對象時,將對象表達式按 key-value 的方式展開。(譯者注: 字面量一般指

    2024年02月09日
    瀏覽(33)
  • ES6 數(shù)組解構(gòu)時不加分號引發(fā)的問題

    由于沒有在適當?shù)男形布由戏痔?,導致下面的代碼被誤讀: 被語法解釋器解釋成 上面這行代碼并不會報錯,并且會將末尾的 [4, 5, 6] 賦值給 [value1_1, value1_2, value1_3] 這樣就引發(fā)了直接打印 [value1_1, value1_2, value1_3] 的結(jié)果不等于 myhandle(1, 2) 的返回值。 可以通過嘗試下面的代碼:

    2024年02月07日
    瀏覽(32)
  • 【React系列】ES6學習筆記(一)let與const、解構(gòu)賦值、函數(shù)參數(shù)默認值\rest參數(shù)\箭頭函數(shù)、數(shù)組和對象的擴展、Set和Map等

    本文參考自電子書《ECMAScript 6 入門》:https://es6.ruanyifeng.com/ 盡量使用 let 聲明變量,而不是 var 。 let 聲明的變量是 塊級作用域 , var 聲明的變量是 全局作用域 。 使用 let 變量 必須先聲明再使用,否則報錯,不存在變量提升 。相對的 var 聲明的變量如果提前使用,不會報錯

    2024年02月03日
    瀏覽(38)
  • JavaScript ES6實現(xiàn)繼承

    JavaScript ES6實現(xiàn)繼承

    1 對象的方法補充 2 原型繼承關系圖 3 class方式定義類 4 extends實現(xiàn)繼承 5 extends實現(xiàn)繼承 6 多態(tài)概念的理 function 創(chuàng)建的名稱如果開頭是大寫的,那這個創(chuàng)建的不是函數(shù),是創(chuàng)建了類。 可以把class創(chuàng)建的類當做是function創(chuàng)建的類的一種語法糖。但是在直接使用的方面是有不同之處

    2024年02月16日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包