摘要:允許按照一定的模式,從數組或者對象中取值,對變量進行賦值數組解構的對象要具有接口也就是可以遍歷按照對應的關系進行取值如果解構不成功變量的值就是如果右側的數值不是數組,就會報錯注意字符串是可以遍歷的也可以有默認值只要被賦值的變量不是嚴格就是默
ES6允許按照一定的模式,從數組或者對象中取值,對變量進行賦值
數組
var a = 2; var b = [1,2]; var c = "thisi"; //ES6 解構的對象要具有Iterator接口也就是可以遍歷 var [a,b,c] = [1,2,3] //按照對應的關系進行取值 var [a,...b] = [1,2,3,4]; a = 1; b = [2,3,4]; //如果解構不成功變量的值就是undefind; var [a ] = []; a = undefind; //如果右側的數值不是數組,就會報錯 var [a] = 1; //Uncaught TypeError: false is not iterable,注意字符串是可以遍歷的 =Nan; =fasle; =null; ={} ` //也可以有默認值 var [a,b = 3] = [5];//只要被賦值的變量不是嚴格===undefined;就是默認值,不包括 null a = 5; b = 3; //惰性求值 function fn(){return 1}; var[a =fn() ] = [2]; a //2 //變量的值可以是其他的變量,但是要已經聲明過的 var [x = 1,y =x] = []; x//1 y//1 let [x= y,y] = [] //Uncaught ReferenceError: y is not defined
對象
//使用var const let解構賦值,右側必須有值進進行初始化,如果不是解構賦值,就正常使用 var obj = { a:1, b:3 } var a = obj.a; var b = obj.b; var {a,b} = obj; //更加的直接 a//1 b//3 var {a,b} = {a:1,b:2}; //屬性的名稱要一樣,位置可以不一樣沒有的話就undefined a//1 b//2 //也可以給已經存在的變量賦值 var a = 1; var b = 2; var obj = { a:11, b:22 } ({a,b} = obj) //外側有小括號,ES6大括號是代碼塊,不允許出現在賦值的左側 //也可以有默認值,只有解構的值===undefined的時候有效 var {a,b,c=23} = {a:2,b:2} //c =23 //不同名的屬性變量 var obj = { a : 1, b:2 }; var {a:x,b:y} = obj a//Uncaught ReferenceError: a is not defined x//1 //嵌套的對象 var obj = { a:1, b:{ x:{num:1} } } var {b:{x}} = obj; x= {num:1}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88937.html
摘要:注意變量聲明沒有指定類型。因此,程序使用類型推斷來確定變量的數據類型,第一次賦值為,設置為類型。 typescript 的基本類型1.number 數字類型 example: let val: Number = 22.string 字符串 example: let val: String = 23.Boolean 布爾類型 example: let val: Boolean = fal...
摘要:變量和常量的聲明一般的聲明,不在函數內就是全局變量,值可以是基本和引用值,可以隨時修改和刪除語法同一個作用域的聲明,只要有同樣的聲明都會報錯,只能修改值語法,和一樣,但是不能更改值以上兩個語法都不存在變量提升的效果直接使用的話,直接引用錯誤 變量和常量的聲明 var a = 34; //一般的聲明,不在函數內就是全局變量,值可以是基本和引用值,可以隨時修改和刪除 ...
摘要:所有代碼共享一個全局作用域,而模塊則是自動運行在嚴格模式下的代碼,其創建的代碼不會添加到全局作用域中,僅存在模塊的頂級作用域中,使用的話必須導出部分的代碼供訪問,也可以從其他的模塊引入模塊標識符以開始表示從根目錄開始以開始從當前目錄以開始表 JS所有代碼共享一個全局作用域,而模塊則是自動運行在嚴格模式下的代碼,其創建的代碼不會添加到全局作用域中,僅存在模塊的頂級作用域中,使用的話必須導...
摘要:用于將對象轉為數組可遍歷和類數組對象部署屬性的對象和擴展運算符的區別是任何具有屬性的都可以使用的方法是用原型該方法還有一個參數類似的新方法將字符串轉化為數組,特別是大于的單個字符,避免分割成多個用來彌補構造函數的歧義三個空值只有一個參數其實 1,Array.from用于將對象轉為數組(可遍歷和類數組對象部署Iterator 屬性的對象)和擴展運算符的區別是任何具有Length屬性的都可...
摘要:根據百度百科的說法迭代器模式,又叫做游標模式。給出的定義為提供一種方法訪問一個容器對象中各個元素,而又不需暴露該對象的內部細節。從定義可見,迭代器模式是為容器而生。很明顯,對容器對象的訪問必然涉及到遍歷算法。這兩種情況好像都能夠解決問題。 Iterator根據百度百科的說法: 迭代器(Iterator)模式,又叫做游標(Cursor)模式。GOF給出的定義為:提供一種方法訪問一個容器(...
閱讀 1111·2021-09-22 16:04
閱讀 1494·2019-08-30 15:43
閱讀 1097·2019-08-29 14:01
閱讀 3438·2019-08-26 12:19
閱讀 3353·2019-08-26 12:15
閱讀 1444·2019-08-26 12:13
閱讀 3264·2019-08-23 17:00
閱讀 1484·2019-08-23 15:38