摘要:基本概念作用解構(gòu)是有組織的從對象或數(shù)組中提取信息片段條件明確從哪提取信息片段,即信息來源于哪個對象或數(shù)組明確提取什么信息片段,即對象的哪個屬性或數(shù)組的第幾個元素其他解構(gòu)除了提取信息片段之外,還有一些輔助的功能為可能提取不到的信息設(shè)置默認值為
基本概念 作用
解構(gòu)是有組織的從對象或數(shù)組中提取信息片段
條件明確從哪提取信息片段,即信息來源于哪個對象或數(shù)組
明確提取什么信息片段,即對象的哪個屬性或數(shù)組的第幾個元素
其他解構(gòu)除了提取信息片段之外,還有一些輔助的功能
為可能提取不到的信息設(shè)置默認值
為提取到的信息重新命名
場景解構(gòu)的使用場景不僅在聲明變量賦值階段,也可以單純地給以有的變量重新賦值
在函數(shù)參數(shù)中使用解構(gòu)
舉例let node = { type: "Identify", name: "foo", subNode: { name: "subFoo" } } let { type, // 獲得node的type信息 name: myname, // 獲得node的name信息,并重命名為myname text, // 獲得node的text信息,若不存在且不設(shè)置默認值,則為undefined value: myvalue = "gaga", // 獲得node的value信息,并重命名為myvalue,若不存在,則為"gaga" subNode: { // 獲得node的subNode中的name信息,并重命名為subName,嵌套解構(gòu) name: subName } } = node // 從node中獲得信息來源 type // "Identify" text // undefined value // ReferenceError myvalue // "gaga" subName // "subFoo"
上面的代碼與下面的代碼輸出相同
let node = { type: "Identify", name: "foo", subNode: { name: "subFoo" } } let type, myname, text, myvalue = "hehe", subName ({ type, name: myname, text, value: myvalue = "gaga", subNode: { name: subName } } = node)數(shù)組解構(gòu) 與對象解構(gòu)的不同之處
對象通過屬性名來標(biāo)示信息片段,數(shù)組通過位置來標(biāo)示信息
對象解構(gòu)默認將提取到的信息賦給與屬性名相同的變量中,數(shù)組需要給提取出的信息命名
可用于交換變量
舉例let colors = ["red", "green", "blue"] let [,,thirdColor] = colors // 從colors數(shù)組中提取下標(biāo)為2的元素 let [firstColor] = colors // 從colors數(shù)組中提取下標(biāo)為0的元素 let [,secondColor,,fourthColor] = colors // 從colors數(shù)組中提取下標(biāo)為1和3的元素,若元素不存在則為undefined let [,secondColor,,fourthColor = "yellow"] = colors // 設(shè)置默認值 // 嵌套解構(gòu) let colors = ["red", ["green", "lightgreen"], "blue"] let [, [,subColor],] = colors // 不定元素 let colors = ["red", "green", "lightgreen", "blue"] let [first, ...others] = colors others // ["green", "lightgreen", "blue"] // 交換變量 let a = 1, b = 2; [a, b] = [b, a]
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92581.html
摘要:一概念對象是屬性的集合,從對象里取值,只能逐個取,而解構(gòu)賦值表達式可以實現(xiàn)批量取值,賦值。賦值操作符等號兩邊的解構(gòu)要一致才能正確賦值解構(gòu)賦值表達式是賦值表達式的語法糖。三數(shù)組解構(gòu)賦值數(shù)組的屬性名稱叫索引,表示的是位置。 一、概念 對象是屬性的集合,從對象里取值,ES3/5只能逐個取,而解構(gòu)賦值表達式可以實現(xiàn)批量取值,賦值。 // 數(shù)據(jù)對象person var person = { ...
摘要:面試問到的問題繼承的幾種方法,,原形繼承面向?qū)ο蟮膸追N方法五種方式對象字面量創(chuàng)建實例對象構(gòu)造函數(shù)工廠模式用一個函數(shù),通過傳遞參數(shù)返回對象。打包原理打包原理把所有依賴打包成一個文件,通過代碼分割成單元片段并按需加載。 面試問到的問題:1、繼承的幾種方法; Call,apply,原形繼承; 2、面向?qū)ο蟮膸追N方法; 五種方式: 1)對象字面量:var obj={}; 2)創(chuàng)建實例對象:va...
摘要:面試問到的問題繼承的幾種方法,,原形繼承面向?qū)ο蟮膸追N方法五種方式對象字面量創(chuàng)建實例對象構(gòu)造函數(shù)工廠模式用一個函數(shù),通過傳遞參數(shù)返回對象。打包原理打包原理把所有依賴打包成一個文件,通過代碼分割成單元片段并按需加載。 面試問到的問題:1、繼承的幾種方法; Call,apply,原形繼承; 2、面向?qū)ο蟮膸追N方法; 五種方式: 1)對象字面量:var obj={}; 2)創(chuàng)建實例對象:va...
摘要:面試問到的問題繼承的幾種方法,,原形繼承面向?qū)ο蟮膸追N方法五種方式對象字面量創(chuàng)建實例對象構(gòu)造函數(shù)工廠模式用一個函數(shù),通過傳遞參數(shù)返回對象。打包原理打包原理把所有依賴打包成一個文件,通過代碼分割成單元片段并按需加載。 面試問到的問題:1、繼承的幾種方法; Call,apply,原形繼承; 2、面向?qū)ο蟮膸追N方法; 五種方式: 1)對象字面量:var obj={}; 2)創(chuàng)建實例對象:va...
摘要:概述是一個事務(wù)型數(shù)據(jù)庫系統(tǒng),類似于基于的。然而不同的是它使用固定列表,是一個基于的面向?qū)ο蟮臄?shù)據(jù)庫。參考文檔瀏覽器數(shù)據(jù)庫入門教程 概述 IndexedDB 是一個事務(wù)型數(shù)據(jù)庫系統(tǒng),類似于基于 SQL 的 RDBMS。 然而不同的是它使用固定列表,IndexedDB 是一個基于 JavaScript 的面向?qū)ο蟮臄?shù)據(jù)庫?,F(xiàn)有的瀏覽器數(shù)據(jù)儲存方案,都不適合儲存大量數(shù)據(jù):Cookie 的大小...
閱讀 2566·2021-11-22 12:05
閱讀 3453·2021-10-14 09:42
閱讀 1686·2021-07-28 00:15
閱讀 1989·2019-08-30 11:08
閱讀 1487·2019-08-29 17:31
閱讀 932·2019-08-29 16:42
閱讀 2340·2019-08-26 11:55
閱讀 2119·2019-08-26 11:49