您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關ES6z2數組解構和字符串解構的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
具體如下:
ES6 允許按照一定模式,從數組和對象中提取值,對變量進行賦值,這被稱為解構(Destructuring), 而數組的解構賦值是從數組中提取值,按照對應位置,對變量賦值。
ES6之前的賦值操作
var arr = [1,2,3]; var a = arr[0]; var b = arr[1]; var c = arr[2]; console.log(a,b,c); // 1 2 3
對一維數組的解構賦值的應用
var arr = [1,2,3]; var [a,b,c] = arr; console.log(a,b,c); // 1 2 3
對多維數組的解構賦值的應用
let arr = [22, [5,8], 11]; let [a,[b,c],d] = arr; console.log(a,b,c,d); // 22 5 8 11
解構賦值用于變量的交換舉例
let x = 11; let y = 22; [y,x] = [x,y]; console.log(x,y); // 22 11
解構賦值中不完全的解析示例
let arr = [22, [5,8], 11]; let [a,[b],c] = arr; console.log(a, b, c); // 22 5 11 let [m,[,n],o] = arr; console.log(m, n, o); // 22 8 11
不能被數組解析的值
let [m] = ""; console.log(m); // undefined; let [x,y] = NaN; // NaN is not iterable. 不能被數組解析的值:NaN, undefined, null, {}
實現了iterator接口的類型都可以被解析賦值
let [x,y] = new Set([22, 33]); console.log(x,y); // 22 33
自己創造一個實現iterator接口的對象進行解構賦值
class Group{ constructor() { } next() { return {value:'Joh', done: false}; } [Symbol.iterator]() { return this; } } let group = new Group(); let [x,y,z,m,n] = group; console.log(x,y,z,m,n); // Joh Joh Joh Joh Joh 備注:這里如果類中的next的done為true,那么全為undefined
… 運算符 轉換成數組的解構舉例
var [x,w, ...y] = [1,2,3,4,5,6]; console.log(x,w, y); // 1 2 [3,4,5,6]
解構數組的默認值
如果數組中的不是undefined,都會被成功解構, 不會被默認值替代
let [x=15, y] = [undefined, 12]; console.log(x,y); // 15 12 let [m=12, n] = [null, 10]; console.log(m, n); // null 10
字符串解構的處理
var [a,b,c] = 'hello'; console.log(a,b,c); // h e l
關于“ES6z2數組解構和字符串解構的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。