最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ES6知識點(diǎn)整理之?dāng)?shù)組解構(gòu)和字符串解構(gòu)的應(yīng)用示例

 更新時(shí)間:2019年04月17日 12:07:50   作者:Johnny丶me  
這篇文章主要介紹了ES6知識點(diǎn)整理之?dāng)?shù)組解構(gòu)和字符串解構(gòu)的應(yīng)用,結(jié)合實(shí)例形式分析了ES6數(shù)組解構(gòu)和字符串解構(gòu)的實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了ES6知識點(diǎn)整理之?dāng)?shù)組解構(gòu)和字符串解構(gòu)的應(yīng)用。分享給大家供大家參考,具體如下:

ES6 允許按照一定模式,從數(shù)組和對象中提取值,對變量進(jìn)行賦值,這被稱為解構(gòu)(Destructuring), 而數(shù)組的解構(gòu)賦值是從數(shù)組中提取值,按照對應(yīng)位置,對變量賦值。

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

對一維數(shù)組的解構(gòu)賦值的應(yīng)用

var arr = [1,2,3];
var [a,b,c] = arr;
console.log(a,b,c); // 1 2 3

對多維數(shù)組的解構(gòu)賦值的應(yīng)用

let arr = [22, [5,8], 11];
let [a,[b,c],d] = arr;
console.log(a,b,c,d); // 22 5 8 11

解構(gòu)賦值用于變量的交換舉例

let x = 11;
let y = 22;
[y,x] = [x,y];
console.log(x,y); // 22 11

解構(gòu)賦值中不完全的解析示例

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

不能被數(shù)組解析的值

let [m] = "";
console.log(m); // undefined;
let [x,y] = NaN; // NaN is not iterable. 不能被數(shù)組解析的值:NaN, undefined, null, {}

實(shí)現(xiàn)了iterator接口的類型都可以被解析賦值

let [x,y] = new Set([22, 33]);
console.log(x,y); // 22 33

自己創(chuàng)造一個(gè)實(shí)現(xiàn)iterator接口的對象進(jìn)行解構(gòu)賦值

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

… 運(yùn)算符 轉(zhuǎn)換成數(shù)組的解構(gòu)舉例

var [x,w, ...y] = [1,2,3,4,5,6];
console.log(x,w, y); // 1 2 [3,4,5,6]

解構(gòu)數(shù)組的默認(rèn)值

如果數(shù)組中的不是undefined,都會(huì)被成功解構(gòu), 不會(huì)被默認(rèn)值替代

let [x=15, y] = [undefined, 12];
console.log(x,y); // 15 12
let [m=12, n] = [null, 10];
console.log(m, n); // null 10

字符串解構(gòu)的處理

var [a,b,c] = 'hello';
console.log(a,b,c); // h e l

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行結(jié)果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

冕宁县| 阿拉善左旗| 合江县| 龙州县| 蒲江县| 玛曲县| 滦平县| 武陟县| 贺州市| 屯昌县| 麦盖提县| 印江| 松溪县| 黄石市| 皋兰县| 洞口县| 肇州县| 美姑县| 拉孜县| 左贡县| 正阳县| 龙南县| 安化县| 万全县| 田东县| 宜兰市| 鄂托克前旗| 襄樊市| 榆树市| 屏南县| 德庆县| 酒泉市| 肃宁县| 南涧| 安新县| 东源县| 东辽县| 科技| 买车| 鲁甸县| 逊克县|