久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

聊聊Js解構賦值的5個常見場景和實例

本篇文章給大家帶來了關于JavaScript的相關知識,其中主要跟大家聊一聊js解構賦值的5個常見場景和實例,感興趣的朋友下面一起來看一下吧,希望對大家有幫助。

解構賦值語法是一種 JavaScript 表達式,通過解構賦值, 可以將屬性/值從對象/數組中取出,賦值給其他變量。這種語法是 ECMAscript 6 規范引入了一種新語法,可以更輕松地從數組和對象中獲取值。

1. 提取數據

先來看看如何在 JavaScript 中解構對象,可以從這個商品對象的簡單示例開始。

const product = {     id: 1,     title: "Nike Air Zoom Pegasus 38",     product_image: "/resources/products/01.jpeg",     shown: "White/Pure Platinum/Midnight Navy/Wolf Grey",     price: 120, }; const { id, price, title } = product;
登錄后復制

這樣,就可以通過以下方式訪問相應的屬性:

console.log(id); // 1 console.log(price); // 120 console.log(title); // Nike Air Zoom Pegasus 38
登錄后復制

解構,能夠讓代碼更加清晰簡潔。如果需要解構一個更復雜的對象呢?即對象中的對象。

現在假設需要從商品列表數據中獲取其中一個商品的屬性,如下:

const products = [     {         id: 1,         title: "Nike Air Zoom Pegasus 38",         price: 120,     },     {         id: 2,         title: "Nike Air Zoom Alphafly NEXT%",         price: 275,     },     {         id: 3,         title: "Nike Zoom Fly 4",         price: 89.0,     }, ];
登錄后復制

在這里,產品列表嵌套了幾層,需要訪問商品的信息,可以解構盡可能多的級別以獲取商品對象的屬性。

const [tmp, { id, title, price }] = products; console.log(id); // 2 console.log(title); // Nike Air Zoom Alphafly NEXT% console.log(price); // 275
登錄后復制

上面的代碼僅用于展示其用法,項目開發中不建議再數組中這樣獲取對象信息。

通常,數據列表不一定非要數組,從獲取效率來說,map 對象的訪問比數組效率要高。可以將上面的數據改為 map 對象,如下:

const products = {     1: {         title: "Nike Air Zoom Pegasus 38",         price: 120,     },     2: {         title: "Nike Air Zoom Alphafly NEXT%",         price: 275,     },     3: {         title: "Nike Zoom Fly 4",         price: 89.0,     }, }; const {     2: { id, title, price }, } = products; console.log(id); // 2 console.log(title); // Nike Air Zoom Alphafly NEXT% console.log(price); // 275
登錄后復制

在 JavaScript 中,數據可以是變量和方法,因此解構賦值也適合用在函數參數的定義,如下:

const printArticle = ({ title, remark }) => {     console.log(title);     console.log(remark); }; printArticle({     title: "JavaScript 解構賦值",     remark: "解構賦值的實用場景介紹", });
登錄后復制

在使用 React 或 Vue 等框架時,有很多解構賦值的地方,如方法的引入等等。

2. 別名取值

如果想創建與屬性名稱不同的變量,那么可以使用對象解構的別名功能。

const { identifier: aliasIdentifier } = expression;
登錄后復制

identifier 是要訪問的屬性的名稱,aliasIdentifier 是變量名稱。具體用法如下:

const products = {     1: {         title: "Nike Air Zoom Pegasus 38",         price: 120,     },     2: {         title: "Nike Air Zoom Alphafly NEXT%",         price: 275,     },     3: {         title: "Nike Zoom Fly 4",         price: 89.0,     }, }; const {     2: { price: productPrice }, } = products;  console.log(productPrice); // 275
登錄后復制

3. 動態屬性

可以使用動態名稱提取到變量屬性(屬性名稱在運行時已知):

const { [propName]: identifier } = expression;
登錄后復制

propName 表達式應計算為屬性名稱(通常是字符串),標識符應指示解構后創建的變量名稱,用法如下:

const products = {     1: {         title: "Nike Air Zoom Pegasus 38",         price: 120,     },     2: {         title: "Nike Air Zoom Alphafly NEXT%",         price: 275,     },     3: {         title: "Nike Zoom Fly 4",         price: 89.0,     }, }; const productKey = "1"; const { [productKey]: product } = products; console.log(product); // { title: 'Nike Air Zoom Pegasus 38', price: 120 }
登錄后復制

上面代碼中,可以通過更新 productKey 的值進而使得 product 的值也跟隨變化。

4. 對象解構中的 Rest

將 rest 語法添加到解構中,Rest 屬性收集那些尚未被解構模式拾取的剩余可枚舉屬性鍵。

const { identifier, ...rest } = expression;
登錄后復制

解構后,變量標識符包含屬性值。 rest 變量是一個具有其余屬性的普通對象。

const product = {     title: "Nike Air Zoom Pegasus 38",     price: 120,     quantity: 5,     category_id: 1,     reviews: 9830,     total: 45, }; const { title, ...others } = product; console.log(others); // { price: 120, quantity: 5, category_id: 1, reviews: 9830, total: 45 }
登錄后復制

對于數組,可以通過 Rest 的實現首尾值的獲取:

const numbers = [1, 2, 3]; const [head, ...tail] = numbers; console.log(head); // 1 console.log(tail); // [ 2, 3 ]
登錄后復制

5. 默認值

正如前面介紹的那樣可以在解構數組時為其分配默認值:

const RGBA = [255, 34]; const [R, G, B = 0, A = 1] = RGBA; console.log(R); // 255 console.log(G); // 34 console.log(B); // 0 console.log(A); // 1
登錄后復制

這樣,可以將確保在 B、A 未定義的情況下有一個默認值。

總結

解構是一個非常實用的特性,它被添加到了 JavaScript 的 ES6 版本中了。通過解構,可以快速方便地從對象和數組中提取屬性或數據到單獨的變量中。它適用于嵌套對象,可以使用 ... 運算符為數組分配賦值。

推薦學習:《JavaScript視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
亚洲视频播放| 久久毛片亚洲| 欧美二区视频| 亚洲h色精品| 一本大道色婷婷在线| 精品久久久中文字幕| 中文字幕一区日韩精品| 亚洲一区成人| 蜜臀av性久久久久蜜臀aⅴ四虎| 五月激情久久| 精品亚洲a∨| 精品久久中文| 国产欧美一区二区三区精品酒店| 国产高潮在线| 欧美一区久久久| 精品深夜福利视频| 国产成人免费| 成人精品亚洲| 999国产精品视频| 成人羞羞视频播放网站| 婷婷亚洲综合| 久久aⅴ国产紧身牛仔裤| 日韩欧美2区| 麻豆久久久久久| 国产亚洲一区二区手机在线观看| 香蕉久久99| 日韩影片在线观看| 国产精品777777在线播放| 麻豆成人91精品二区三区| 日韩.com| 另类亚洲自拍| 国产精品v一区二区三区| 久久毛片亚洲| 欧美综合国产| 欧美国产另类| 亚洲高清二区| 综合一区二区三区| 欧美激情久久久久久久久久久| 国产精品www994| 久久精品青草| 日韩精选在线| 亚洲三级欧美| 日韩一区免费| 日韩欧美一区免费| 亚洲人成网站在线在线观看| 国产成人久久精品一区二区三区| 一区久久精品| 日本va欧美va欧美va精品| 精品午夜视频| 男女精品网站| 国产一区丝袜| 香蕉久久一区| 久久精品国产一区二区| 亚洲欧美日本视频在线观看| 欧美精品福利| 久久久成人网| 国产精品手机在线播放| 日韩午夜一区| 精品一区91| 亚洲精品一二三**| 超碰超碰人人人人精品| 日韩精品久久久久久| 亚洲成人va| 欧美一区在线观看视频| 美女久久久久| 久久精品人人| 亚州欧美在线| 久久久久久久久成人| 国产精品美女久久久| 精品视频网站| 日本一不卡视频| 在线一区欧美| 亚洲综合在线电影| 乱一区二区av| 热久久久久久久| 久久青草久久| 久久永久免费| 日韩精品欧美精品| 欧美特黄一级| 天堂网av成人| 97人人精品| 国产精品美女在线观看直播| 亚洲一本视频| 精品伊人久久久| 欧美日本三区| 天堂俺去俺来也www久久婷婷| 电影亚洲精品噜噜在线观看| 欧美一区二区三区久久精品| 免费观看在线综合| 欧美日韩国产在线一区| 亚洲a在线视频| 日韩久久电影| 黑森林国产精品av| 精品欧美视频| 国产精品66| 日韩av中文字幕一区二区| 亚洲涩涩av| 亚洲成av在线| 福利精品一区| av资源中文在线天堂| 国模精品一区| 成人午夜毛片| zzzwww在线看片免费| 久久精品九色| 欧美好骚综合网| 国产精品国产一区| 国产精品久久久久久久久妇女| 精品免费在线| 日韩精品91| 91精品福利| 老色鬼久久亚洲一区二区| 久久国产精品亚洲77777| 久久狠狠婷婷| 久久黄色影院| 亚洲一级高清| 免费久久99精品国产自在现线| 久久午夜精品一区二区| 日本欧美在线看| 日韩av资源网| 老司机精品视频网| 人人草在线视频| 亚洲成av人片一区二区密柚| 亚洲天堂黄色| 久久国产99| 91综合久久爱com| 欧美日韩国产一区二区在线观看| 欧美精品国产白浆久久久久| 亚洲日韩视频| 国产伦理久久久久久妇女| 国产精品一区二区三区av麻| 久久的色偷偷| 高清久久精品| 婷婷中文字幕一区| 好看不卡的中文字幕| 亚洲午夜在线| 一区三区视频| 国产剧情在线观看一区| 高清不卡亚洲| 91精品啪在线观看国产18| 激情偷拍久久| 日韩一区二区三免费高清在线观看| 欧美亚洲一区二区三区| 91久久精品无嫩草影院| 久久一区精品| 91精品啪在线观看国产18| 亚洲一区日韩| 国产情侣久久| 九九精品调教| 亚洲精品四区| 国产成人精品免费视| 亚洲香蕉网站| 综合欧美亚洲| 国产欧美日韩影院| а√天堂中文在线资源8| 里番精品3d一二三区| 精品午夜久久| 亚洲欧美网站| 中文字幕成人| 麻豆久久久久久| 香蕉久久久久久久av网站| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美私人啪啪vps| 色在线中文字幕| 欧美精品99| 久久精品青草| 日韩精品免费一区二区夜夜嗨| 老司机免费视频一区二区三区| 日韩国产网站| 婷婷精品在线| 久久精品播放| 日本视频在线一区| 日韩免费一区| 91精品精品| 一本综合精品| 你懂的国产精品永久在线| 日韩欧美二区| 国产欧美日韩精品高清二区综合区 | 欧美国产免费| 999国产精品视频| 综合激情网站| 久久视频一区| 国产欧美一区二区色老头| 福利一区二区| 亚洲精品九九| 亚洲www啪成人一区二区| 亚洲资源在线| 国产激情久久| 亚洲ab电影| 婷婷激情一区| 日本少妇一区二区| 国产亚洲福利| 福利片在线一区二区| 亚洲毛片一区| 日韩午夜一区| 国产一区二区视频在线看| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品巨作av| 日韩精品一二区| 欧美久久天堂| 91精品麻豆|