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

[ES6]解構(gòu)與賦值

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

解構(gòu)賦值是對賦值運算符的擴展。

通過解構(gòu),可以更加簡單的獲取復雜對象的屬性

解構(gòu)模型

解構(gòu)的源,解構(gòu)賦值表達式的右邊部分
解構(gòu)的目標,解構(gòu)賦值表達式的左邊部分

對象屬性解構(gòu)

當變量名稱與對象中的屬性名稱一致時,可簡寫

const PI = Math.PI;
const E = Math.E;

//等價于

const { PI, E } = Math;

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

//解構(gòu)
// const PI = Math.PI;
// const E = Math.E;

const { PI, E } = Math;

const circle = {
  label: "circleX",
  radius: 2
};

//設置參數(shù)默認值 {precision=2},={}表示參數(shù)可選,設置其他參數(shù)值 {precision:4}
const circleArea = ({ radius }, { precision = 2 } = {}) => (PI * radius * radius).toFixed(precision);

console.log(circleArea(circle, { precision: 4 }));

{attr}使用解構(gòu)方式獲取對象參數(shù)中的對應屬性,這樣在函數(shù)內(nèi)部就可以直接使用該屬性變量 attr,而不是通過對象再去獲取對應的屬性 obj.attr 的方式去使用該屬性值

{attr=value}使用該方式設置解構(gòu)參數(shù)的默認值

{radius}對 circle 對象進行解構(gòu),獲取當前函數(shù)所需屬性

字符串的解構(gòu)

let [a, b, c, d, e] = "hello";
// a = 'h'
// b = 'e'
// c = 'l'
// d = 'l'
// e = 'o'

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

如果不需要當前位置解構(gòu),對應的位置置空,但是必須用逗號隔開

const [one, two, , , five] = [1, 2, 3, 4, 5];
console.log(one); //1
console.log(two); //2
console.log(five); //5

REST 運算符參與的解構(gòu)–…

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

const [first, ...rest] = [1, 2, 3, 4, 5];
console.log(first); //1
console.log(rest); //[2,3,4,5]

構(gòu)建新的數(shù)組

const array1 = [...rest];
console.log(array1); //[2,3,4,5]

array1 是 rest 副本,淺拷貝

屬性解構(gòu)

解構(gòu)

const { temp0, temp1, ...person } = obj;
console.log(temp0);
console.log(person);

構(gòu)建新的對象鍵值對

const newObj = {
  ...person
};

newObj 是 person 副本,淺拷貝

解構(gòu)的賦值

解構(gòu)的過程中:

如果左邊的變量在右邊存在匹配值,則解構(gòu)后值為匹配值;

let [a] = [3]; // a = 3

如果左邊的變量設置了默認值,并且在右邊存在匹配值,則解構(gòu)后值為匹配值;

let [a = 2] = [3]; // a = 3

如果左邊的變量在右邊不存在匹配值,則解構(gòu)后值為 undefined;

let [a] = []; //a=undefined
let [a] = [undefined]; //a=undefined

如果左邊的變量設置了默認值,并且在右邊不存在匹配值,則解構(gòu)后值為默認值;

let [a = 2] = []; // a = 2
let [a = 2] = [undefined]; // a = 2

如果右邊對應匹配值為 undefined,也即沒有匹配值

示例:文章來源地址http://www.zghlxwxcb.cn/news/detail-421199.html

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

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

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

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

相關(guān)文章

  • ES6鏈判斷運算符(?.)的正確打開方式

    在實際應用中,如果讀取對象內(nèi)部 的某個屬性,往往需要判斷一下,屬性的上層對象是否存在。比如,讀取message.body.user.firstName這個屬性,安全的寫法是寫成下下面這樣: 上面的例子,firstName屬性在對象的第四層,所以需要判斷四次,每一層是否有值。三元運算符也常用于

    2024年02月13日
    瀏覽(23)
  • es6的語法糖,展開運算符,類的實現(xiàn)

    es6的語法糖,展開運算符,類的實現(xiàn)

    ? ? ? 對象存在鍵值對,如果需要解構(gòu)對象,你需要使用對象的鍵名為變量名 ? ? 字符串的展開 ? 數(shù)組的展開 ? 對象的展開 對象 的簡明寫法1: 對象 的簡明寫法2: 具有相同特征的一類事物的抽象 1、使用class 2、類的動態(tài)屬性定義在構(gòu)造器中(constructor),如果沒有定義

    2024年02月02日
    瀏覽(27)
  • ES6中Null判斷運算符(??)正確打開方式-

    讀取對象屬性的時候,如果某個屬性的值是null或者undefined,有時候需要為它們指定默認值。常見的作法是通過||運算符指定默認值。 上面的三行代碼都是通過||運算符指定默認值,但是這樣寫是錯的。我們這樣寫的意愿一般是,只要屬性的值為null或者undefined,默認值就會生效

    2024年02月13日
    瀏覽(22)
  • ES9學習 -- 對象的剩余參數(shù)與擴展運算符 / 正則擴展 / Promise.finally / 異步迭代

    ES9學習 -- 對象的剩余參數(shù)與擴展運算符 / 正則擴展 / Promise.finally / 異步迭代

    // kerwin {age:100,location: ‘dalian’} 其中…other 可以拿到對象的剩余參數(shù) // {name: ‘xiaoming’,location: ‘dalian’,age: 18] 在實際開發(fā)中,我們會使用ajax() 封裝一些默認的屬性和屬性值,以備用戶忘記或未傳入某些參數(shù)。 // { methods: “get”, async: true, url: “/api”} 正則表達式命名捕獲

    2024年04月09日
    瀏覽(25)
  • 【JavaScript】JavaScript 運算符 ⑤ ( 賦值運算符 | 基礎賦值運算符 與 復合賦值運算符 )

    【JavaScript】JavaScript 運算符 ⑤ ( 賦值運算符 | 基礎賦值運算符 與 復合賦值運算符 )

    JavaScript 賦值運算符種類 : 基礎賦值運算符 : 等于 : = ; 復合賦值運算符 : 加等 : += 減等 : -= 乘等 : *= 除等 : /= 取模等 : %= 有符號左移等 : = 有符號右移等 : = 無符號左移等 : = 無符號右移等 : = 在 JavaScript 語言中 , \\\" 賦值運算符 \\\" 的 作用是 為 變量 分配值 ; 最基礎的 \\\" 賦值運算

    2024年03月25日
    瀏覽(25)
  • ES6: 解構(gòu)賦值

    解構(gòu)賦值是一種快速為變量賦值的簡潔語法,本質(zhì)上仍然是為變量賦值,分為數(shù)組解構(gòu)、對象解構(gòu)兩大類型。 數(shù)組解構(gòu)是將數(shù)組的單元值快速批量賦值給一系列變量的簡潔語法,如下代碼所示: 數(shù)組解構(gòu)賦值: eg1: eg2: eg3: eg4: eg5: 交換2個變量的值 總結(jié): 賦值運算符 = 左側(cè)的

    2024年02月09日
    瀏覽(26)
  • 【ES6】—解構(gòu)賦值

    【ES6】—解構(gòu)賦值

    解構(gòu)賦值:解構(gòu)賦值就是一種模式的匹配,只要等號兩邊的模式完全相同的,那么左邊的變量就會被賦值對應右邊的值 PS:數(shù)組解構(gòu)賦值時,是通過索引的唯一性賦值的 (1). ES5 的寫法 (2). ES6 的寫法 ES6的寫法 當左右兩邊的結(jié)構(gòu)模式不匹配時,按照左邊變量對應索引的位置賦值

    2024年02月12日
    瀏覽(32)
  • 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),可以更加簡單的獲取復雜對象的屬性 解構(gòu)的源,解構(gòu)賦值表達式的右邊部分 解構(gòu)的目標,解構(gòu)賦值表達式的左邊部分 當變量名稱與對象中的屬性名稱一致時,可簡寫 {attr} 使用解構(gòu)方式獲取對象參數(shù)中的對應屬性,這樣在函數(shù)內(nèi)部

    2023年04月22日
    瀏覽(18)
  • 【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日
    瀏覽(36)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包