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

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

 更新時間:2020年01月22日 10:44:51   作者:theVicTory  
這篇文章主要介紹了ES6學(xué)習(xí)筆記之新增數(shù)據(jù)類型,結(jié)合實例形式分析了ES6數(shù)據(jù)解構(gòu)賦值、新增數(shù)據(jù)類型Set集合、新增數(shù)據(jù)類型Map、Symbol類型等相關(guān)原理與操作注意事項,需要的朋友可以參考下

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

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格式要匹配對應(yīng),鍵值可以缺省,但逗號的位置要正確

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

2、對象的解構(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、字符串類型

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

let [a,b,c]="這是一個字符串";
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:集合的元素個數(shù) 

console.log(myset.size);

3、方法

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

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

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

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

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

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

1、創(chuàng)建Map

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

打印mymap如下:

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

console.log(mymap.size);

3、方法

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

4、注意{}與{}是不同的兩個鍵值

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

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

4、Symbol類型

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

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

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

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

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

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

相關(guān)文章

  • java中參數(shù)傳遞方式詳解

    java中參數(shù)傳遞方式詳解

    這篇文章主要介紹了java中參數(shù)傳遞方式詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 詳解Java編程中對象的序列化

    詳解Java編程中對象的序列化

    這篇文章主要介紹了Java編程中對象的序列化,包括一些反序列化的例子,需要的朋友可以參考下
    2015-11-11
  • SpringBoot 整合線程池的示例詳解

    SpringBoot 整合線程池的示例詳解

    線程池是一種利用池化技術(shù)思想來實現(xiàn)的線程管理技術(shù),主要是為了復(fù)用線程、便利地管理線程和任務(wù)、并將線程的創(chuàng)建和任務(wù)的執(zhí)行解耦開來,這篇文章主要介紹了SpringBoot 整合線程池的示例詳解,需要的朋友可以參考下
    2024-08-08
  • 基于多網(wǎng)卡環(huán)境下Eureka服務(wù)注冊IP的選擇問題

    基于多網(wǎng)卡環(huán)境下Eureka服務(wù)注冊IP的選擇問題

    這篇文章主要介紹了基于多網(wǎng)卡環(huán)境下Eureka服務(wù)注冊IP的選擇問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java阻塞隊列BlockingQueue基礎(chǔ)與使用

    Java阻塞隊列BlockingQueue基礎(chǔ)與使用

    本文詳細(xì)介紹了BlockingQueue家庭中的所有成員,包括他們各自的功能以及常見使用場景,通過實例代碼介紹了Java 阻塞隊列BlockingQueue的相關(guān)知識,需要的朋友可以參考下
    2023-01-01
  • Java?ConcurrentHashMap實現(xiàn)線程安全的代碼示例

    Java?ConcurrentHashMap實現(xiàn)線程安全的代碼示例

    眾所周知ConcurrentHashMap是HashMap的多線程版本,HashMap?在并發(fā)操作時會有各種問題,而這些問題,只要使用ConcurrentHashMap就可以完美解決了,本文將給詳細(xì)介紹ConcurrentHashMap是如何保證線程安全的
    2023-05-05
  • Java爬蟲(Jsoup與WebDriver)的使用

    Java爬蟲(Jsoup與WebDriver)的使用

    這篇文章主要介紹了Java爬蟲(Jsoup與WebDriver)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java狀態(tài)機(jī)的一種優(yōu)雅寫法分享

    Java狀態(tài)機(jī)的一種優(yōu)雅寫法分享

    狀態(tài)機(jī)是一種數(shù)學(xué)模型,對于我們業(yè)務(wù)實現(xiàn)有很大的幫助。我們可以用非常多的方法實現(xiàn)狀態(tài)機(jī),這篇文章就來介紹一個狀態(tài)機(jī)優(yōu)雅的實現(xiàn)方法,希望對大家有所幫助
    2023-04-04
  • 自己動手用Springboot實現(xiàn)仿百度網(wǎng)盤的實踐

    自己動手用Springboot實現(xiàn)仿百度網(wǎng)盤的實踐

    本項目基于Springboot開發(fā)實現(xiàn),前端采用BootStrap開發(fā)實現(xiàn),模仿百度網(wǎng)盤實現(xiàn)相關(guān)功能,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • java8 使用stream排序空字段排在前面或后面

    java8 使用stream排序空字段排在前面或后面

    這篇文章主要介紹了java8 使用stream排序空字段排在前面或后面的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論

永嘉县| 习水县| 张掖市| 南澳县| 岫岩| 安龙县| 泽州县| 霍州市| 安溪县| 芜湖县| 曲水县| 沙坪坝区| 绩溪县| 上饶县| 永川市| 淄博市| 仪陇县| 新泰市| 滕州市| 沅陵县| 静宁县| 鹰潭市| 合水县| 固镇县| 筠连县| 海伦市| 临泽县| 营口市| 三亚市| 郎溪县| 禄丰县| 米易县| 盐源县| 五寨县| 噶尔县| 文登市| 海丰县| 海城市| 泌阳县| 忻州市| 镇安县|