成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型實(shí)例解析

本文實(shí)例講述了ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型。分享給大家供大家參考,具體如下:

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比慶云網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式慶云網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋慶云地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

1、數(shù)據(jù)解構(gòu)賦值

1、數(shù)組的解構(gòu)賦值

基本用法:let  [key1,key2...]=[value1,value2...]

let [name,age,sex]=['小明',24,'男'];
console.log(name);
console.log(age);
console.log(sex);

注意左右的key與value格式要匹配對(duì)應(yīng),鍵值可以缺省,但逗號(hào)的位置要正確

let [arr1,,[arr3,,[,arr6]]]=[1,2,[31,32,[331,332]]];
console.log(arr1);
console.log(arr3);
console.log(arr6);

2、對(duì)象的解構(gòu)賦值

用法:let  {key1,key2...}={key1:value1,key2:value2...}  

let obj={name:'小明',age:24,sex:'男',friend:['小張','小李']};
console.log(obj.name);
console.log(obj.age);
console.log(obj.sex);
console.log(obj.friend);

3、字符串類型

字符串中每個(gè)字符與數(shù)組鍵對(duì)應(yīng)

let [a,b,c]="這是一個(gè)字符串";
console.log(a);
console.log(b);
console.log(c);

2、新增數(shù)據(jù)類型Set集合

set與數(shù)組不同在于set中不可以有重復(fù)數(shù)據(jù),常用于去重操作

1、創(chuàng)建set

let myset=new Set(['data1','data2','data3','data3']);

2、屬性size:集合的元素個(gè)數(shù) 

console.log(myset.size);

3、方法

myset.add('data4');//增加元素
myset.delete('data2');//刪除元素
console.log(myset.has('data1'));//判斷是否含有某個(gè)元素,包含返回true
myset.clear();//清除集合所有元素
console.log(myset.keys());//返回集合所有的鍵值
console.log(myset.values());//返回集合所有值

3、新增數(shù)據(jù)類型Map

由于對(duì)象的鍵值只能是字符串,不可以是對(duì)象類型,使用對(duì)象作為鍵值會(huì)被toString轉(zhuǎn)化為字符串"[object Object]",例如:

let obj1={key:1},obj2={key:2},obj={};
obj.value='objValue';
obj[obj1]='obj1Value';  //將對(duì)象obj1作為obj的鍵值
obj[obj2]='obj2Value';
console.log(obj);

輸出:Object { value: "objValue", "[object Object]": "obj2Value" },由于轉(zhuǎn)化為相同的鍵值字符串,obj2會(huì)覆蓋obj1

而使用map可以避免鍵值必須為字符串的限制,其鍵值可以為對(duì)象、數(shù)組等

1、創(chuàng)建Map

let mymap=new Map([
    ['stringKey','stringValue'],
    ['age',24],
    [obj1,'obj1Value'],
    [obj2,'obj2Value'],
    [['arr'],'arrValue']
]);

打印mymap如下:

ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型實(shí)例解析

2、屬性size:返回map中鍵值對(duì)個(gè)數(shù) 

console.log(mymap.size);

3、方法

mymap.set('key','value');//設(shè)置map的鍵、值
mymap.get('key');//通過(guò)鍵來(lái)取值
mymap.delete('key');//刪除對(duì)應(yīng)的鍵值
mymap.has('key');//判斷是否含有
//mymap.clear();//清除map中所有鍵值
//遍歷
mymap.forEach(function (value,key) {
  console.log(key+":"+value);
})

4、注意{}與{}是不同的兩個(gè)鍵值

mymap.set({},"obj1");
mymap.set({},"obj2");

以上語(yǔ)句obj2不會(huì)覆蓋obj1,由于空對(duì)象{}在內(nèi)存中不同的堆區(qū)申請(qǐng)存儲(chǔ)空間,所以作為鍵值它們是不同的

4、Symbol類型

在用相同的字符串對(duì)對(duì)象屬性名或方法進(jìn)行命名時(shí)會(huì)發(fā)生命名沖突,而使用symbol產(chǎn)生的名字是不同的,例如:

let obj={};
obj[Symbol('name')]="小趙";
obj[Symbol('name')]="小錢";
console.log(obj);

結(jié)果如下,不會(huì)覆蓋第一句:

ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型實(shí)例解析

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

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

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

當(dāng)前題目:ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型實(shí)例解析
分享URL:http://jinyejixie.com/article48/iehsep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、建站公司、企業(yè)建站、響應(yīng)式網(wǎng)站、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
响水县| 鄂托克前旗| 本溪| 淮南市| 阳谷县| 平阴县| 静安区| 手机| 富源县| 南昌县| 平乡县| 鹤庆县| 纳雍县| 舒兰市| 昌都县| 闵行区| 万山特区| 吴江市| 三原县| 容城县| 乐平市| 永康市| 翁源县| 沅陵县| 龙州县| 安岳县| 攀枝花市| 吉隆县| 苍梧县| 左贡县| 保康县| 常山县| 日土县| 襄城县| 崇文区| 深泽县| 韩城市| 烟台市| 时尚| 德保县| 祁连县|